如果我用rails上的postgresql从database.yml中删除用户名和密码会发生什么

时间:2014-04-17 06:36:22

标签: ruby-on-rails postgresql

我使用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:

1 个答案:

答案 0 :(得分:0)

“角色my_app不存在”意味着它抱怨数据库用户不存在:

http://www.postgresql.org/docs/current/static/sql-createuser.html

您需要为您的特定设置引用heroku文档,因为他们可能会使用特殊脚本来执行相同操作:

https://devcenter.heroku.com/articles/heroku-postgresql