只是查看我的 Rails 4 应用程序的 database.yml 文件,并注意到生产数据库没有任何设置 - 只有测试和开发数据库。
我实际上没有任何问题,但想通过发布此问题来避免其他潜在问题。
在本地,我使用 PG 数据库,我也使用 PG db 在 Heroku 上托管我的应用程序。
我是否应该在 yml 中为生产数据库文件设置一些设置,因为我真的不确定?
只是查看我的 Rails 4 应用程序的 database.yml 文件,并注意到生产数据库没有任何设置 - 只有测试和开发数据库。
我实际上没有任何问题,但想通过发布此问题来避免其他潜在问题。
在本地,我使用 PG 数据库,我也使用 PG db 在 Heroku 上托管我的应用程序。
我是否应该在 yml 中为生产数据库文件设置一些设置,因为我真的不确定?
Heroku 在生产部署期间将覆盖您在 database.yml 中放置的任何内容,因为它使用自己的应用程序配置来有效地编写新配置。
https://devcenter.heroku.com/articles/ruby-support#build-behavior
除非需要将 database.yml 部署到其他环境,否则可以将其包含在 gitignore 中
以上答案对于 Heroku 上的 Rails 4.x 不再有效。Heroku 不再覆盖你的 database.yml。您的 config/database.yml 文件中需要以下条目:
production:
url: <%= ENV['DATABASE_URL'] %>
如果您在 Heroku 上托管您的应用程序并使用 Heroku Postgres DB,则您不需要 database.yml 中的生产条目。
Heroku 将用一个使用 heroku:config 中的 DATABASE_URL 的数据库完全替换你的 database.yml。
所以不,对于 Heroku 托管的应用程序,您不需要在 database.yml 中添加生产条目。