Как изменить URL базы данных для приложения heroku

У меня готова внешняя база данных и теперь я хочу использовать эту базу данных с моим приложением heroku. Но я не могу редактировать переменные конфигурации. Я попытался использовать GUI, который говорит, что не может перезаписать значения вложений DATABASE_URL. В то время как я пытался использовать CLI. Я использовал команду: Heroku config:addDATABASE_URL="postgresql://username:password@IP:PORT". Однако, это вызывает ошибку ........ это не команда heroku.

5 ответов


попробовав большинство этих ответов, я наткнулся на обновление в 2016 году,здесь: сначала необходимо отсоединить базу данных, а затем обновить переменную 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 явно указывает как способ установить DATABASE_URL.

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

As пояснил в этой статье, правильный синтаксис для установки / добавления переменной конфигурации -

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

однако, похоже (см. комментарии) к DATABASE_URL устарел, и попытка обновить его вызовет ошибку.


ее решили. Просто для справки пользователей, которые имеют ту же проблему или хотят иметь аналогичную реализацию. Вот обходной путь, который сработал для меня.

Heroku больше не перезаписывает databse.yml, поэтому я просто изменил DATBASE_URL в базе данных.YML и толкнул его :)

Это тоже сработало!

источник: https://discussion.heroku.com/t/rails-4-1-database-yml-no-longer-overwritten-on-heroku/550


Я получил ту же самую ситуацию сегодня, когда мне нужно изменить postgres to postgis. Отсоедините не работает для меня, поэтому я сделал это database.yml:

production:

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

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