本番環境のDBをステージング環境などにまるっとコピーする方法をまとめる。
前提条件
1. コピー対象のバックアップを取る
下記コマンドでDBのバックアップデータを作成する
heroku pg:backups:capture -a prod-app
2.バックアップデータをローカルにダウンロードする
heroku pg:backups:download b002 -a prod-app
3.S3バケットにバックアップデータをアップロードする
- 署名付きURLを発行する or データをそのまま公開してしまう
4.コピー先のDBを初期化する
heroku pg:reset DATABASE -a stg-app
5.コピーを実行する
heroku pg:backups:restore 'アップロードしたS3のURL' DATABASE_URL -a stg-app
6.S3からdumpを削除する
- 本番データの場合は削除しておきましょう
以上。