Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Heroku上rails database.yml文件的生产条目_Ruby On Rails_Heroku_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails Heroku上rails database.yml文件的生产条目

Ruby on rails Heroku上rails database.yml文件的生产条目,ruby-on-rails,heroku,ruby-on-rails-4,Ruby On Rails,Heroku,Ruby On Rails 4,只要查看Rails 4应用程序的database.yml文件,就会发现生产数据库没有任何设置,只有测试和开发数据库 我实际上没有任何问题,但想通过发布此问题来避免其他潜在问题 在本地,我使用PG数据库,我也使用PG数据库在Heroku上托管我的应用程序 我真的不确定是否应该在yml中为生产数据库文件设置一些设置?在生产部署期间,Heroku将覆盖yml,因为它使用自己的应用程序配置来有效地编写新的应用程序 除非您需要将database.yml部署到其他环境中,否则如果您在Heroku上托管应用

只要查看Rails 4应用程序的database.yml文件,就会发现生产数据库没有任何设置,只有测试和开发数据库

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

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


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

在生产部署期间,Heroku将覆盖yml,因为它使用自己的应用程序配置来有效地编写新的应用程序


除非您需要将database.yml部署到其他环境中,否则如果您在Heroku上托管应用程序并使用Heroku Postgres DB,则可以将其包含在gitignore中,而不需要在database.yml中使用生产条目

Heroku将使用Heroku:config中的database_URL完全替换database.yml


因此,对于Heroku托管的应用程序,您不需要在database.yml中输入产品条目。

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

production:
   url: <%= ENV['DATABASE_URL'] %>
生产:
网址:

实际上正在尝试运行此命令
RAILS\u ENV=production bundle exec rake assets:precompile
,因为我有一个不会更新的映像,但出现了一个错误-我认为这可能与没有生产设置有关。在其中有一个生产条目不会有什么坏处,只是使用了一些伪造的用户和密码,以防您的系统中有人想知道生产系统也是postgres,但我觉得与预编译问题有关的链接不太可能。我认为Gemfile应该更有影响力。如果其他人想从本地控制台连接到heroku生产数据库,这是我找到的获得正确配置设置的最简单方法<代码>heroku run rails runner'将ActiveRecord::Base.configurations.to_yam'用于heroku上的rails 4.1+,更精确一点。