PG Backups を使った DB のインポート
開発環境の DB の中身を本番環境 (Heroku) の DB にインポートする手順。詳しくは https://devcenter.heroku.com/articles/heroku-postgres-import-export を参照。開発環境の DB は Postgres.
1. 開発環境の DB を dump する。
% PGPASSWORD=myapp_password pg_dump -Fc --no-acl --no-owner -h localhost -U myapp_user myapp_db > mydb.dump
2. dump したファイルを Heroku から HTTP でアクセスできる場所に置く。
ドキュメントには Amazon S3 がおすすめとあるが、私は Dropbox の Public フォルダに置いた。
% mv mydb.dump ~/Dropbox/Public
3. リストアコマンドを実行する。
% heroku pgbackups:restore DATABASE {mydb.dump の URL}
4. リストア後、アプリを再起動させる。
アプリを再起動しないと「PGError: ERROR: operator does not exist: character...」の様なエラーが発生するので。
% heroku restart