5

只是查看我的 Rails 4 应用程序的 database.yml 文件,并注意到生产数据库没有任何设置 - 只有测试和开发数据库。

我实际上没有任何问题,但想通过发布此问题来避免其他潜在问题。

在本地,我使用 PG 数据库,我也使用 PG db 在 Heroku 上托管我的应用程序。

我是否应该在 yml 中为生产数据库文件设置一些设置,因为我真的不确定?

4

3 回答 3

12

Heroku 在生产部署期间将覆盖您在 database.yml 中放置的任何内容,因为它使用自己的应用程序配置来有效地编写新配置。

https://devcenter.heroku.com/articles/ruby-support#build-behavior

除非需要将 database.yml 部署到其他环境,否则可以将其包含在 gitignore 中

于 2013-11-07T16:30:28.653 回答
10

以上答案对于 Heroku 上的 Rails 4.x 不再有效。Heroku 不再覆盖你的 database.yml。您的 config/database.yml 文件中需要以下条目:

production:
   url: <%= ENV['DATABASE_URL'] %>
于 2015-04-03T14:22:00.020 回答
4

如果您在 Heroku 上托管您的应用程序并使用 Heroku Postgres DB,则您不需要 database.yml 中的生产条目。

Heroku 将用一个使用 heroku:config 中的 DATABASE_URL 的数据库完全替换你的 database.yml。

所以不,对于 Heroku 托管的应用程序,您不需要在 database.yml 中添加生产条目。

于 2013-11-07T16:31:14.680 回答