Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I upload a DB to Heroku

I have a shared heroku app, now I wan't to create a test app also in heroku with the same code, so I've created a new app, ok, the thing is that for the app to work it needs a database, so I'm trying to upload my local DB but don't know how to.

Can anyone tell me what do I have to type in my command line so I can get my local DB uploaded?

Thanks

Ps: The app uses Django

like image 219
Sascuash Avatar asked Jan 24 '13 11:01

Sascuash


2 Answers

You should restore database from a url, see heroku import doc:

heroku pgbackups:restore DATABASE 'http://f.cl.l...3z18/mydb.dump'

Edit:

The pgbackups addon has been deprecated. The process is now built in to the CLI tools. More details here. The new method looks like this:

heroku pg:backups restore 'http://f.cl.l...3z18/mydb.dump' DATABASE
like image 66
dani herrera Avatar answered Sep 22 '22 21:09

dani herrera


@danihp's answer is a good one - it is exactly what the documentation recommends.

BUT it requires posting the file in some awkward place like S3.

However, as the OP asks - how can we do this without having to push the database dump to someplace awkward like S3?

The most convenient answer I've been able to find (mentioned in @danihp's comment) is to use dropbox.

In detail (not described in danihp's comment):

Simply

  • put the dump file into your "Public" dropbox folder
  • right click and choose "Copy Public Link"
  • Paste the url you just copied into the command:

    heroku pgbackups:restore DATABASE_URL "<paste link here>"
    

If you don't want to put the dump file in your "Public" folder, then you need to do one more step.

You need to

  • put is in some other dropbox folder
  • right click, and chose "share Dropbox Link"
  • paste the link into a browser, which will show you the dump file page
  • right click the "download" button and copy the URL.
  • paste that URL into the command.

HTH.

like image 34
GreenAsJade Avatar answered Sep 21 '22 21:09

GreenAsJade