Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to change database_url on heroku?

I am trying to share a database between two apps on Heroku according to Share database between 2 apps in Heroku but setting up database_url on the second app gives an error:

$ 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
like image 397
user1167937 Avatar asked Jun 03 '15 05:06

user1167937


1 Answers

DATABASE_URL is what's currently storing your second app's connection to its provisioned DB, which Heroku is kindly preventing you from deleting because there are no other references to it.

First, remove the second application's DB. Anything in it will be destroyed.

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

If these are new apps, your DB tier is probably hobby-dev, but you can check for it by running heroku addons --app <your second app>.

Then, you'll be able to set DATABASE_URL on the second app.

If you want to have the second app connected to both DBs, you'll need to store the first app's DB URL in a different environment variable and update your second app's code to use it.


Unrelated to your question, you've just pasted your DB credentials into a public space. You should roll them with heroku pg:credentials --reset --app <your first application>.

Docs: https://devcenter.heroku.com/articles/heroku-postgresql

like image 188
Kristján Avatar answered Sep 24 '22 03:09

Kristján