Как изменить database_url на heroku?

Я пытаюсь разделить базу данных между двумя приложениями на Heroku в соответствии с Поделиться базой данных между двумя приложениями в Heroku, но настройка database_url во втором приложении дает ошибка:

$ heroku config:add DATABASE_URL=postgres://...
Setting config vars and restarting pacific-headland-1960... failed  
 !    Cannot destroy last attachment to billing app for resource loving-subtly-5807

Ответ 1

DATABASE_URL - это то, что в настоящее время хранит ваше второе приложение для его подготовленной базы данных, которое Heroku любезно мешает вам удалять, потому что нет других ссылок на него.

Сначала удалите вторую прикладную БД. Все, что в нем будет уничтожено.

heroku addons:destroy heroku-postgresql:<your DB tier> --app <your second app>

Если это новые приложения, ваш уровень DB, вероятно, hobby-dev, но вы можете проверить его, запустив heroku addons --app <your second app>.

Затем вы сможете установить DATABASE_URL во второе приложение.

Если вы хотите, чтобы второе приложение подключилось к обеим БД, вам нужно будет сохранить первый URL-адрес DB приложения в другой переменной среды и обновить второй код приложения, чтобы использовать его.


Не связанный с вашим вопросом, вы только что ввели ваши учетные данные БД в общедоступное пространство. Вы должны перевернуть их с помощью heroku pg:credentials --reset --app <your first application>.

Документы: https://devcenter.heroku.com/articles/heroku-postgresql

Ответ 2

Из Heroku

Ранее для добавления надстройки вы могли использовать команду addons:add. Эта команда теперь устарела в пользу команды create.