如何为heroku应用程序更改DATABASE_URL
我已准备好外部数据库,现在想要使用我的heroku应用程序使用该数据库。 但是我无法编辑配置变量。 我尝试使用GUI,其中说,无法覆盖附件值DATABASE_URL。 虽然我也尝试使用CLI。 我使用了命令:heroku config:addDATABASE_URL =“postgresql:// username:password @ IP:PORT”。 但是,这会引发错误……..不是heroku命令。
在尝试了大多数这些答案之后,我在2016年遇到了更新, 这里 :首先需要分离数据库,然后更新DATABASE_URL的变量。
heroku addons:attach heroku-postgresql -a --as HEROKU_DATABASE heroku addons:detach DATABASE -a heroku config:add DATABASE_URL=
另一种不需要分离的方法(可能不是转换的预期结果)是简单地附加新数据库然后将其提升, Heroku Documents明确指出这是设置DATABASE_URL
。
heroku addons:attach heroku-postgresql -a heroku pg:promote heroku-postgresql -a
如本文所述,设置/添加配置变量的正确语法是
$ heroku config:set DATABASE_URL="postgresql://username:password@IP:PORT"
但是,看起来(请参阅注释) DATABASE_URL
已被弃用,尝试更新它将触发错误。
解决了它。 仅供具有相同问题或希望具有类似实现的用户参考。 这是适用于我的解决方法。
Heroku不再覆盖databse.yml,所以我只修改了database.yml中的DATBASE_URL并推送它:)
它也有效!
资料来源: https : //discussion.heroku.com/t/rails-4-1-database-yml-no-longer-overwritten-on-heroku/550
当我需要将postgres
更改为postgis
时,我今天遇到了同样的情况。 分离对我不起作用所以我对database.yml
这样做了:
production: url: <%= ENV['DATABASE_URL'].sub(/^postgres/, "postgis") %>
https://github.com/rgeo/activerecord-postgis-adapter/issues/214 。
基于Heroku文档,您可以使用多个应用程序共享数据库。
heroku addons:attach my-originating-app::DATABASE --app sushi