Cloning Mongo Database From Heroku to Local

These are the steps I compiled to clone a Mongo database from Heroku to local. It is provided as-is without warranty nor guarantee nor support.

  1. Open command prompt (Windows) or Terminal (Mac/Linux) and navigate to the project’s working folder.
  2. Get the config vars from Heroku with heroku config --app <appname>
    • Find the MONGOLAB_URI value. It will be in the form of: mongodb://<username>:<password>@<url>:<port>/<database>
  3. Run the following command to make a copy of the production database to your local working directory.
    • Use the values from the config file: mongodump -h <url>:<port> -d <database> -u <username> -p <password>
    • mongodump will create the following directory to store the data: dump/<database>/
  4. Make sure your local instance of mongod is running.
  5. Drop your existing local database with the following command.
    • mongo <dbname> --eval "db.dropDatabase()"
    • <dbname>Β is your local database name specified in your project’s config file under MONGOLAB_URI.
  6. Use mongorestore to put the prod data into your local mongodb.
    • mongorestore -d <dbname> dump/<database>/
  7. Ensure data was restored
    • Start mongo command line interface: mongo
    • Show databases and ensure <dbname> is in the list: > show databases
    • Switch to <dbname>: > use <dbname>
    • Ensure games and players tables exist: > show collections
    • If satisfied, then exit mongo command line: > exit
  8. Run the app and see the prod data (see “Running” section below)
  9. ???
  10. Profit!
Advertisements
  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: