Created
June 19, 2011 07:29
-
-
Save sowenjub/1033876 to your computer and use it in GitHub Desktop.
Quickly dump your heroku production database and load it locally
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# This script does the following: | |
# 1/ capture and download the latest backup | |
# 2/ load it to your local database | |
# 3/ run your app and open Safari | |
# Just replace any uppercase string with your own data | |
# | |
# CAPTURE | |
# | |
cd YOUR_LOCAL_BACKUP_FOLDER | |
heroku pgbackups:capture --expire --app YOUR_APP_NAME | |
file_path="db_$(date +%Y_%m_%d-%H_%M_%S).dump" | |
curl `heroku pgbackups:url --app YOUR_APP_NAME` > $file_path | |
# | |
# LOAD | |
# | |
pg_restore --verbose --clean --no-acl --no-owner -h localhost -u YOUR_LOCAL_DB_USERNAME -d YOUR_LOCAL_DB_NAME $file_path | |
cd YOUR_LOCAL_APP # for me something like ~/Sites/app_name | |
# | |
# RUN | |
# | |
# Tell to launch Safari after 10 seconds, which should be enough to load the server | |
eval "sleep 10; open -a Safari http://localhost:3001/" & | |
# Run your app. I use an environment with caching which is closer to the production environment than my standard dev environment. | |
bundle exec thin start -e dev_with_caching -p 3001 |
Great help. Heroku doc was incomplete. Thanks !
This is outdated since heroku doesn't have the backup addon anymore.
! Please add the pgbackups addon first via:
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
It should be
-U
instead of-u
.