我使用posgresql作为我的数据库制作带有rails的web应用程序。每当我试图运行rake db:create:all时,我得到一个奇怪的错误'角色my_app不存在'。但我发现如果你注释掉或删除database.yml中的用户名和密码字段,那么一切正常。这不好吗?这会在以后引起一些问题吗?
here is my database.yml, as you see, ive commented out username and password:
development:
adapter: postgresql
encoding: unicode
database: db/website_test_development
pool: 5
#username: website_test
#password:
# Connect on a TCP socket. Omitted by default since the client uses a
# domain socket that doesn't need configuration. Windows does not have
# domain sockets, so uncomment these lines.
#host: localhost
# The TCP port the server listens on. Defaults to 5432.
# If your server runs on a different port number, change accordingly.
#port: 5432
# Schema search path. The server defaults to $user,public
#schema_search_path: myapp,sharedapp,public
# Minimum log levels, in increasing order:
# debug5, debug4, debug3, debug2, debug1,
# log, notice, warning, error, fatal, and panic
# Defaults to warning.
#min_messages: notice
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
adapter: postgresql
encoding: unicode
database: db/website_test_test
pool: 5
#username: website_test
#password:
production:
adapter: postgresql
encoding: unicode
database: db/website_test_production
pool: 5
#username: website_test
#password:
答案 0 :(得分:0)
“角色my_app不存在”意味着它抱怨数据库用户不存在:
http://www.postgresql.org/docs/current/static/sql-createuser.html
您需要为您的特定设置引用heroku文档,因为他们可能会使用特殊脚本来执行相同操作: