1

我已经有一个 Rails 应用程序,可以成功使用 Postgres.app。

我什至不记得我做了什么来创建第一个数据库并将其连接到 Rails,但它可以工作,这就是我所拥有的database.yml

development:
  adapter: postgresql
  database: gnossy_development
  pool: 5
  timeout: 5000

现在对于我的第二个 Rails 应用程序,我已经创建了应用程序

rails new my_app --database=postgresql --skip-test-unit

Rails 在 database.yml 中为我创建了这个

default: &default
  adapter: postgresql
  encoding: unicode
  pool: 5

development:
  <<: *default
  database: my_app_development

我需要做什么才能让我的第二个应用程序与 PG 数据库连接?

rake db:create:all结果是"FATAL: role "my_app" does not exist"

4

1 回答 1

0

您收到的错误是 postgres 错误。

"FATAL:  role "my_app" does not exist"

当您运行迁移时,应用程序会尝试登录数据库以执行迁移。

此错误告诉您在数据库中您没有名为“my_app”的角色

如果您想检查这是否属实,请登录您的 postgres 数据库:

从控制台:

psql

进入后,检查您的角色:

\du

此命令将返回您的角色与其权限的关系。

要在您的 Rails 应用程序中解决此问题,请尝试将具有 PG 权限的用户和密码凭据添加到database.yml

username: your_user
password: your_pasword
于 2015-04-12T15:05:14.827 回答