我的问题:我已经设置了我的Rails应用程序的开发,测试环境以使用postgresql数据库。现在我如何验证它没问题?
注意:我是Rails和使用数据库的初学者
我采取了哪些措施来验证
我启动了rails控制台并使用
创建了一个用户User.create(名称:“Anil Bande”,电子邮件:“anil@gmail.com”,密码:“foobar”,password_confirmation:“foobar”)
从输出中看起来像用户已创建。验证我在rails控制台上运行$ User.all
并且输出显示了我在步骤(2)中创建的对象
现在我想从postgresql提示符中看到这个。所以我做了$psql sample_app_development
并且出现了psql提示符。
我在psql上做了一个psql>> \d
来列出数据库中的所有表。确实如此,表“用户”也出现在我感兴趣的地方。
现在我做了psql>> select * from users
,但没有结果。提示刚刚返回。
现在这是我的困惑。步骤(6)没有显示任何内容。但在rails控制台中,看起来用户已创建并保存在数据库中。 (a)为什么这样? (b)如何验证我为设置开发和测试环境所做的一切是否正确?
答案 0 :(得分:1)
我无法对Rails部分发表评论,但为此:
现在我做了psql>>从用户中选择*,但没有结果。提示刚刚返回。
您忘了以;
您需要在键入语句时告诉psql,因为它允许语句跨越多行。请注意提示符如何从psql=>
更改为psql->
以指示psql正在等待更多。
所以如果你输入
psql=> select * from users;
你应该没事。
(只是要明确: psql 作为提示的一部分只是一个例子。真正的提示将包含你所连接的数据库的名称。重要的是要寻找的是=>
和->
)
答案 1 :(得分:0)
您是否已在控制台中的数据库上运行迁移?
rake db:migrate
如果是这样,还要确保您的数据库配置yml文件具有正确的信息 - >
为您的数据库列出的用户,密码,本地主机等,如
development:
adapter: postgresql
encoding: unicode
database: pg2_development
pool: 5
username: postgres
password: root
host: localhost
- >运行rails服务器,而不是goto localhost:3000 / user来检查结果
答案 2 :(得分:0)
如果您刚开始使用postgres,您可能会发现使用GUI界面(例如pgadmin
)可以更好地为您的一般管理员提供服务例如,它会告诉你结束';'失踪。它仍然允许您直接转到psgl命令行。