Herokuアプリケーションで外部データベースを使用したいと思っていました。しかし、構成カリブラブルを編集することはできません。添付ファイルの値DATABASE_URLを上書きできないというGUIを使用してみました。 CLIも試してみました。私は次のコマンドを使用しました:heroku config:addDATABASE_URL="postgresql://username:password@IP:PORT"
。ただし、これはエラーをスローします... is not a heroku command.
これらのほとんどの答えを試した後、2016年に更新に遭遇しました here :まずデータベースをデタッチしてから、DATABASE_URLの変数を更新する必要があります。
heroku addons:attach heroku-postgresql -a <app_name> --as HEROKU_DATABASE
heroku addons:detach DATABASE -a <app_name>
heroku config:add DATABASE_URL=
デタッチを必要としない別の方法(スイッチの望ましい結果ではない可能性があります)は、新しいデータベースをアタッチしてプロモートすることです。これは、 Heroku Documents が設定する方法として明示的に示していますDATABASE_URL
。
heroku addons:attach heroku-postgresql -a <app_name>
heroku pg:promote heroku-postgresql -a <app_name>
この記事で説明 のように、構成変数を設定/追加する正しい構文は次のとおりです
$ heroku config:set DATABASE_URL="postgresql://username:password@IP:PORT"
ただし、(コメントを参照)DATABASE_URL
は非推奨となっており、更新しようとするとエラーが発生します。
今日、postgres
をpostgis
に変更する必要があるのと同じ状況になりました。デタッチは機能しないので、database.yml
:
production:
url: <%= ENV['DATABASE_URL'].sub(/^postgres/, "postgis") %>
https://github.com/rgeo/activerecord-postgis-adapter/issues/214 。
Heroku docs に基づいて、これは複数のアプリでデータベースを共有する方法です。
heroku addons:attach my-originating-app::DATABASE --app sushi
解決しました。同じ問題を抱えている、または同様の実装をしたいユーザーの参考のために。ここに私のために働いた回避策があります。
Herokuはdatabse.ymlを上書きしなくなったので、database.ymlのDATBASE_URLを変更してプッシュしました:)
うまくいきました!
ソース: https://discussion.heroku.com/t/Rails-4-1-database-yml-no-longer-overwritten-on-heroku/55