postgresql - "No relations found"在 rails db :migrate succeeds 之后的 psql 中

标签 postgresql ruby-on-rails-4 rails-migrations

作为 Rails 新手,我按照 railscast #342 中的说明在我的 Mac 上设置了一个 postgres 数据库连接。

我用

创建了一个新的 Rails 项目
$ rails new blog -d postgresql

我编辑了数据库yaml文件来设置用户名和密码。

我使用 psql 添加新用户和密码,并授予它创建表的权限: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
---------------------------------
 lcuff, public, blog_development

但是试图找到表,

# \d

未找到关系。

我已经完成了 db:migrate VERSION=0 并且它成功地报告它删除了表,然后我用 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

Source

关于postgresql - "No relations found"在 rails db :migrate succeeds 之后的 psql 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31172742/

相关文章:

mysql - 在没有 key 长度的 key 规范中使用的 Rails BLOB/TEXT 列

sql - 如何从 SQL 结果中获取参数子集?

sql - 选择所有不在 postgres 表中的整数

ruby-on-rails - Devise 中两种截然不同的用户模型

ruby-on-rails - 在 Rails 应用程序中删除旧的迁移文件

ruby-on-rails - 无法使用 Capistrano 重置/取消设置 VERSION 环境变量

sql - 从 PostgreSQL 中的子查询更新或插入(多行和多列)

node.js - 授权。尝试查询 Azure 上的 PostgreSQL 时出错

ruby-on-rails - 将值从 View 传递到 Controller ,无需查询字符串

javascript - Turbolinks 5/ capybara /Rails