【问题标题】:Not sure if my rails application is configured properly for posrtgres db不确定我的 rails 应用程序是否为 posrtgres db 正确配置
【发布时间】:2013-02-09 09:26:28
【问题描述】:

我的问题:我已经设置了 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 ,但没有结果。提示刚刚返回。

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

【问题讨论】:

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


    【解决方案1】:

    我无法对 Rails 部分发表评论,但对此:

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

    你忘了用;结束语句

    当你完成一个语句的输入时,你需要告诉 psql,因为它允许一个语句跨越多行。请注意提示如何从psql=> 更改为psql-> 以指示psql 正在等待更多。

    所以如果你输入

    psql=> select * from users;
    

    你应该没事的。

    (需要明确:psql 作为提示的一部分只是一个示例。真正的提示将包含您连接到的数据库的名称。要查找的重要事项是=>->)

    【讨论】:

    • 该死!我知道这一定是一件微不足道的事情。感谢您回答我的第一个问题
    【解决方案2】:

    您是否已在控制台中对数据库运行迁移?

    rake db:migrate
    

    如果是这样,还要确保您的数据库配置 yml 文件具有正确的信息 ->

    为您的数据库列出的用户、密码、本地主机等

    development:
      adapter: postgresql
      encoding: unicode
      database: pg2_development
      pool: 5
      username: postgres
      password: root
      host: localhost
    

    --> 运行 rails server ,然后转到 localhost:3000/user 来查看结果

    【讨论】:

      【解决方案3】:

      如果您刚刚开始使用 postgres,您可能会发现使用 pgadmin 等 GUI 界面可以更好地为您的普通管理员提供服务

      例如,它会告诉你结尾 ';'失踪。它仍然允许您直接进入 psgl 命令行。

      【讨论】:

        猜你喜欢
        • 2015-04-14
        • 1970-01-01
        • 1970-01-01
        • 2010-10-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-11-19
        • 1970-01-01
        相关资源
        最近更新 更多