Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I attach a database to an app in Heroku?

Tags:

I'm using Heroku's Postgres addon, and I created a new production database from the Heroku Postgres addon page. I Didn't add it directly to my App using the Resources page of my App.

Now I want to attach this database to my App so it'll be recognized by the heroku pg command.

I'm able to use the database btw after setting the DATABASE_URL config var of my app to point to it, but heroku pg command doesn't recognize it yet.

Additional info: The previous database was Shared, and the new one is a Production.

like image 662
Emam Avatar asked Jul 28 '12 11:07

Emam


1 Answers

Did you add the database using the app-independent https://postgres.heroku.com/ site? Or did you just create a postgresql database in your Heroku control panel?

If you created your database on https://postgres.heroku.com/, you will not see the database via your heroku pg:info command. What you can do to add your database to your application, however, would be to:

  1. Log into https://postgres.heroku.com/.
  2. Click on the database you want to attach to your application.
  3. Under 'Connection Settings', click the configuration button at the top right.
  4. Then click the 'URL' option.
  5. Copy your database URL, this should be something like "postgres://blah:[email protected]:5432/omg".
  6. In your application, on the command line, run heroku config:set DATABASE_URL=postgres://blah:[email protected]:5432/omg

What we did there was assign your database to the DATABASE_URL environment variable in your application. This is the variable that's used by default when you provision databases locally to your application, so theoretically, assigning this value should work just fine for you.

like image 158
rdegges Avatar answered Sep 30 '22 18:09

rdegges