Я хотел использовать внешнюю базу данных с моим приложением heroku. Но я не могу отредактировать конфигурацию cariables. Я попытался с помощью графического интерфейса, который говорит, не может перезаписать значения вложения DATABASE_URL. Хотя я тоже пытался использовать CLI. Я использовал команду: heroku config:addDATABASE_URL="postgresql://username:[email protected]:PORT"
. Однако это выдает ошибку ... is not a heroku command.
Как изменить DATABASE_URL для приложения heroku
Ответ 1
После опроса большинства этих ответов я встретил обновление в 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=
Ответ 2
Альтернативный метод, который не требует отсоединения (что может быть нежелательным результатом переключения), состоит в том, чтобы просто присоединить новую базу данных и затем продвинуть ее, что в Документах Heroku прямо указано как способ установки DATABASE_URL
.
heroku addons:attach heroku-postgresql -a <app_name>
heroku pg:promote heroku-postgresql -a <app_name>
Ответ 3
Как описанный в этой статье, правильный синтаксис для установки/добавления переменной конфигурации -
$ heroku config:set DATABASE_URL="postgresql://username:[email protected]:PORT"
Однако, похоже (см. комментарии), DATABASE_URL
устарел, и попытка его обновления приведет к ошибке.
Ответ 4
Я получил ту же самую ситуацию, когда мне нужно изменить postgres
на postgis
. Отключение не работает для меня, поэтому я сделал это с database.yml
:
production:
url: <%= ENV['DATABASE_URL'].sub(/^postgres/, "postgis") %>
https://github.com/rgeo/activerecord-postgis-adapter/issues/214.
Ответ 5
Решил. Только для справки пользователей, которые имеют одну и ту же проблему или хотят иметь аналогичную реализацию. Здесь обходной путь, который работал у меня.
Heroku больше не перезаписывает databse.yml, поэтому я только что изменил DATBASE_URL в database.yml и нажал его:)
Он тоже работает!
Источник: https://discussion.heroku.com/t/rails-4-1-database-yml-no-longer-overwritten-on-heroku/550
Ответ 6
На основе документов Heroku вы можете использовать базу данных для нескольких приложений.
heroku addons:attach my-originating-app::DATABASE --app sushi