我已经有一个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"
答案 0 :(得分:0)
您收到的错误是postgres错误。
"FATAL: role "my_app" does not exist"
当您运行迁移时,应用会尝试登录数据库以执行迁移。
此错误告诉您,在数据库中您没有名为“my_app”的角色
如果您想检查这是否属实,请登录您的postgres数据库:
来自控制台:
psql
进入后,请检查您的角色:
\du
此命令将返回角色与其权限的关系。
要在rails应用中修复此问题,请尝试将具有PG权限的用户和密码凭据添加到 database.yml
username: your_user
password: your_pasword