【问题标题】:PG::ConnectionBad Error when trying to run rake db:migrate after creating model, using postgresqlPG::ConnectionBad 在创建模型后尝试运行 rake db:migrate 时出错,使用 postgresql
【发布时间】:2014-11-27 17:52:38
【问题描述】:

试图让我的导轨启动并运行,但遇到了问题。在命令行上创建我的新 Rails 应用程序时,我运行了通常的

rails new PhotoApp -d postgresql

生成了我的核心脚手架。然后在终端中生成一个带有属性的模型,这很好。创建模型后,我首先运行rake db:create,然后返回一长串字符,顶部告诉我FATAL: role "PhotoApp" does not exist,然后我尝试了rake db:migrate,但返回我也没有用

rake aborted!
PG::ConnectionBad: FATAL:  role "PhotoApp" does not exist
/Users/@#$%^$#/Code/Projects/PhotoApp/config/environment.rb:5:in `<top (required)>'
Tasks: TOP => db:migrate => environment
(See full trace by running task with --trace)

WTF 是怎么回事?

感谢您的帮助。

【问题讨论】:

    标签: ruby-on-rails postgresql error-handling rake


    【解决方案1】:

    错误告诉您 Postgres 没有找到您的应用程序。你的database.yml 文件是什么样的?

    我将首先按照建议使用--trace 再次运行 rake 任务:

        rake db:create --trace
    

    这将为您提供更详细的跟踪,因此您可以尝试隔离问题。 根据经验,我可以告诉你 Postgres 中的“角色”可能是一场噩梦。你是如何在你的机器上安装 Postgres 的?家酿? Postgres 应用程序?

    请发布完整的跟踪信息以及您的database.yml 文件。这将有助于更好地评估问题!

    【讨论】:

    • 我运行了跟踪,并不确定它告诉我什么,但这就是它所说的。 ** 调用 db:create (first_time) ** 调用 db:load_config (first_time) ** 执行 db:load_config ** 调用 rails_env (first_time) ** 执行 rails_env ** 执行 db:create
    • 我刚刚安装了 ruby​​ gem install gem pg,然后运行了 rails new PhotoApp -d postgresql,我相信这就是我需要在我的机器上进行初始化的全部内容。
    • 如果你以前没有使用过 Postgres,你需要在你的机器上安装它。我用this教程在我的Mac上设置postgres,非常顺利
    • 它是用 Homebrew 在我的机器上设置的。 @ajsavant17 我在 3 个月前安装 ruby​​ 时就这样做了。在使用 rails 框架中的数据库之前,我还没有遇到过这个问题。我试图弄清楚如何重置 postgresql 服务器,也许这会有所帮助。当我从其他用户那里看到他们使用 postgresql 时,我不确定为什么我的 database.yml 文件中有用户名和密码字段。
    猜你喜欢
    • 2014-05-09
    • 1970-01-01
    • 2017-10-04
    • 2017-04-16
    • 1970-01-01
    • 1970-01-01
    • 2013-03-08
    • 2018-04-29
    • 2012-08-03
    相关资源
    最近更新 更多