如何在Rails 4中正确设置database.yml文件

我很好奇如何在Rails 4应用程序中正确设置我的database.yml文件。

这不是我真正详细研究的内容,因为它在部署到Heroku时似乎只是工作,但我现在想要了解它,并注意到格式从Rails 4.0改为4.1。 例如

4.0.2

 development: adapter: mysql2 encoding: utf8 database: my_app_development pool: 5 username: root password: test: adapter: mysql2 encoding: utf8 database: my_app_test pool: 5 username: root password: production: adapter: mysql2 encoding: utf8 database: ymca_gym_production pool: 5 username: root password: 

4.1.0

 default: &default adapter: mysql2 encoding: utf8 pool: 5 username: root password: socket: /var/run/mysqld/mysqld.sock development: <<: *default database: my_app_development test: <<: *default database: my_app_test # On Heroku and other platform providers, you may have a full connection URL # available as an environment variable. For example: # # DATABASE_URL="mysql2://myuser:mypass@localhost/somedatabase" # # You can use this database configuration with: # # production: # url:  # production: <<: *default database: my_app_production username: my_app password:  

我的问题是

  1. 我应该在所有环境中设置用户名和密码吗?
  2. 我在Heroku上使用ClearDB作为我的数据库。 我应该使用url: 进行制作,如评论所示?

您发布的第二个database.yml实际上等同于第一个,它只是复制开发块中的值。

回答你的其他问题:

1)我应该在所有环境中设置用户名和密码

你可以,如果你愿意的话,或者你可以把它留在上面,从一个街区拿走全部凭证。

2)如果我使用带有Heroku的清除数据库作为我的数据库,那么我应该取消注释

heroku实际上完全忽略了这个文件(无论如何都不应该将其检入源代码控制中)。 Heroku有自己的机制来处理数据库,您可以在这里阅读更多信息: https : //devcenter.heroku.com/articles/heroku-postgresql

从本质上讲,处理“heroku的数据库”和您在此文件中定义的本地数据库完全不同。