web-dev-qa-db-ja.com

HerokuアプリケーションのDATABASE_URLを変更する方法

Herokuアプリケーションで外部データベースを使用したいと思っていました。しかし、構成カリブラブルを編集することはできません。添付ファイルの値DATABASE_URLを上書きできないというGUIを使用してみました。 CLIも試してみました。私は次のコマンドを使用しました:heroku config:addDATABASE_URL="postgresql://username:password@IP:PORT"。ただし、これはエラーをスローします... is not a heroku command.

27
Ninja Boy

これらのほとんどの答えを試した後、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=
29
0bserver07

デタッチを必要としない別の方法(スイッチの望ましい結果ではない可能性があります)は、新しいデータベースをアタッチしてプロモートすることです。これは、 Heroku Documents が設定する方法として明示的に示していますDATABASE_URL

heroku addons:attach heroku-postgresql -a <app_name>
heroku pg:promote heroku-postgresql -a <app_name>
12
andrewjt

この記事で説明 のように、構成変数を設定/追加する正しい構文は次のとおりです

$ heroku config:set DATABASE_URL="postgresql://username:password@IP:PORT"

ただし、(コメントを参照)DATABASE_URLは非推奨となっており、更新しようとするとエラーが発生します。

3
Simone Carletti

今日、postgrespostgisに変更する必要があるのと同じ状況になりました。デタッチは機能しないので、database.yml

production:

  url: <%= ENV['DATABASE_URL'].sub(/^postgres/, "postgis") %>

https://github.com/rgeo/activerecord-postgis-adapter/issues/214

2
Tan Duong

Heroku docs に基づいて、これは複数のアプリでデータベースを共有する方法です。

heroku addons:attach my-originating-app::DATABASE --app sushi
1
Andrei Erdoss

解決しました。同じ問題を抱えている、または同様の実装をしたいユーザーの参考のために。ここに私のために働いた回避策があります。

Herokuはdatabse.ymlを上書きしなくなったので、database.ymlのDATBASE_URLを変更してプッシュしました:)

うまくいきました!

ソース: https://discussion.heroku.com/t/Rails-4-1-database-yml-no-longer-overwritten-on-heroku/55

1
Ninja Boy