Leo*_*ard 3 postgresql rails-migrations ruby-on-rails-4
作为Rails新手,我按照railscast#342中的说明在我的Mac上设置postgres数据库连接.
我创建了一个新的rails项目
$ rails new blog -d postgresql
Run Code Online (Sandbox Code Playgroud)
我编辑了数据库yaml文件来设置用户名和密码.
我使用psql添加新用户和密码,并授予它创建表的权限: alter user blog create db
我创建了db via
rake db:create:all
Run Code Online (Sandbox Code Playgroud)
它成功并在psql内部,做\ l列出模式,我看到所有三个模式blog_test,blog_development和blog_production
然后我做
$ rails g scaffold article name content:text
Run Code Online (Sandbox Code Playgroud)
一切看起来都不错
然后我做
$ rake db:migrate
Run Code Online (Sandbox Code Playgroud)
我收到消息显示成功:
$ rake db:migrate
== 20150701220010 CreateArticles: migrating ===================================
-- create_table(:articles)
-> 0.0128s
== 20150701220010 CreateArticles: migrated (0.0129s) ==========================
Run Code Online (Sandbox Code Playgroud)
我设置我的搜索路径来查看架构:
set search_path to lcuff,public,blog_development;
Run Code Online (Sandbox Code Playgroud)
show search_path:
search_path
---------------------------------
lcuff, public, blog_development
Run Code Online (Sandbox Code Playgroud)
但试图找到桌子,
# \d
Run Code Online (Sandbox Code Playgroud)
没有找到关系.
我已经完成了db:migrate VERSION=0它并且它成功报告它丢弃了表,然后我再次创建它db:migrate并报告成功.
如果第一部分没有工作,它实际上创建了模式,我想我会以某种方式指向错误的数据库.
想法?
您应该在获取表之前首先连接到数据库.
\connect blog_development
Run Code Online (Sandbox Code Playgroud)
然后尝试\d列出所有表格.
你也可以试试\dt.
示例(在我的项目中测试):
\connect my_db
You are now connected to database "my_db" as user "postgres".
my_db=# \d
List of relations
Schema | Name | Type | Owner
--------+-------------------------------+-------+----------
public | access_managements | table | postgres
public | amenities | table | postgres
public | city_coordinates | table | postgres
public | coapplicants | table | postgres
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1659 次 |
| 最近记录: |