不确定我的rails应用程序是否为posrtgres db配置正确

时间:2013-02-09 09:26:28

标签: ruby-on-rails database postgresql ruby-on-rails-3.2

我的问题:我已经设置了我的Rails应用程序的开发,测试环境以使用postgresql数据库。现在我如何验证它没问题?

注意:我是Rails和使用数据库的初学者

我采取了哪些措施来验证

  1. 我跟着railcast从默认的sqlite3迁移到postgresql。
  2. 我启动了rails控制台并使用

    创建了一个用户

    User.create(名称:“Anil Bande”,电子邮件:“anil@gmail.com”,密码:“foobar”,password_confirmation:“foobar”)

  3. 从输出中看起来像用户已创建。验证我在rails控制台上运行$ User.all并且输出显示了我在步骤(2)中创建的对象

  4. 现在我想从postgresql提示符中看到这个。所以我做了$psql sample_app_development并且出现了psql提示符。

  5. 我在psql上做了一个psql>> \d来列出数据库中的所有表。确实如此,表“用户”也出现在我感兴趣的地方。

  6. 现在我做了psql>> select * from users,但没有结果。提示刚刚返回。

  7. 现在这是我的困惑。步骤(6)没有显示任何内容。但在rails控制台中,看起来用户已创建并保存在数据库中。 (a)为什么这样? (b)如何验证我为设置开发和测试环境所做的一切是否正确?

3 个答案:

答案 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命令行。