There are two ways to copy data between databases: restore backup or copy command.
We will be performing a database migration from the myapp-prod app to the myapp-test app that is copying the schema (structure) and data from the source to target.
Restore backup
Copies specified backup version of the database.
heroku pg:backups:capture --app myapp-prod
Creates a backup in the app myapp-prod. The Heroku console will tell you backup ID version b001 in this case.
heroku pg:backups:restore myapp-prod::b001 DATABASE_URL --app myapp-test
Second command: Copy from myapp-prod app backup id b001 (latest backup) to default DATABASE_URL of the app myapp-test.
Direct copy
Copies the latest state of the database.
heroku pg:copy myapp-prod::DATABASE_URL DATABASE_URL --app myapp-test
Copy from myapp-prod app latest default database DATABASE_URL copy to app myapp-test default database DATABASE_URL.
Here DATABASE_URL is the name of the default database of your Heroku apps.
Thanks :)
Reference
https://devcenter.heroku.com/articles/heroku-postgres-backups#restore-a-backup
Top comments (0)