"No relations found" 在 rails db:migrate 成功后的 psql 中
"No relations found" in psql after rails db:migrate succeeds
作为一个 Rails 新手,我正在按照 railscast #342 中的说明在我的 Mac.
上设置一个 postgres 数据库连接
我用
创建了一个新的 rails 项目
$ rails new blog -d postgresql
我编辑了数据库yaml文件来设置用户名和密码。
我使用 psql 添加了新的用户和密码,并授予它创建 tables 的权限:alter user blog create db
我通过
创建了数据库
rake db:create:all
它成功了,在 psql 中,执行 \l 列出模式,我看到所有三个模式 blog_test、blog_development 和 blog_production
然后我做
$ rails g scaffold article name content:text
看起来不错
然后我做
$ rake db:migrate
我收到显示成功的消息:
$ rake db:migrate
== 20150701220010 CreateArticles: migrating ===================================
-- create_table(:articles)
-> 0.0128s
== 20150701220010 CreateArticles: migrated (0.0129s) ==========================
我设置搜索路径以查看模式:
set search_path to lcuff,public,blog_development;
显示search_path:
search_path
---------------------------------
lcuff, public, blog_development
但试图找到 table、
# \d
未找到关系。
我已经完成 db:migrate VERSION=0
,它成功地报告它删除了 table,然后我用 db:migrate
再次创建它,它报告成功。
如果第一部分在实际创建模式的地方不起作用,我想我会以某种方式指向错误的数据库。
想法?
您应该首先连接到数据库 在获取表格之前。
\connect blog_development
然后尝试给出 \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
作为一个 Rails 新手,我正在按照 railscast #342 中的说明在我的 Mac.
上设置一个 postgres 数据库连接我用
创建了一个新的 rails 项目$ rails new blog -d postgresql
我编辑了数据库yaml文件来设置用户名和密码。
我使用 psql 添加了新的用户和密码,并授予它创建 tables 的权限:alter user blog create db
我通过
创建了数据库rake db:create:all
它成功了,在 psql 中,执行 \l 列出模式,我看到所有三个模式 blog_test、blog_development 和 blog_production
然后我做
$ rails g scaffold article name content:text
看起来不错
然后我做
$ rake db:migrate
我收到显示成功的消息:
$ rake db:migrate
== 20150701220010 CreateArticles: migrating ===================================
-- create_table(:articles)
-> 0.0128s
== 20150701220010 CreateArticles: migrated (0.0129s) ==========================
我设置搜索路径以查看模式:
set search_path to lcuff,public,blog_development;
显示search_path:
search_path
---------------------------------
lcuff, public, blog_development
但试图找到 table、
# \d
未找到关系。
我已经完成 db:migrate VERSION=0
,它成功地报告它删除了 table,然后我用 db:migrate
再次创建它,它报告成功。
如果第一部分在实际创建模式的地方不起作用,我想我会以某种方式指向错误的数据库。
想法?
您应该首先连接到数据库 在获取表格之前。
\connect blog_development
然后尝试给出 \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