Herokuのpostgresデータベースにインポートする別のデータベースのバックアップsqlファイルがあります。どうやってやるの?
これがあなたのやり方です:
heroku pg:psql --app YOUR_APP_NAME_HERE < updates.sql
プロダクションをステージングに復元する場合(両方がheroku postgres DBであると仮定):
heroku pgbackups:restore YOUR_STAGING_DATABASE_NAME `heroku pgbackups:url --app YOUR_PRODUCTION_APP_NAME` --app YOUR_STAGING_APP_NAME --confirm YOUR_STAGING_APP_NAME
「heroku pgbackups:url --app YOUR_PRODUCTION_APP_NAME」を囲む特別な一重引用符を必ず保持してください。
-------- HEROKU TOOLBELTの更新--------
Herokuは最近、ツールベルトを更新したため、古いコマンドは無効になりました(詳細は このリンク を参照してください)。以下は、復元コマンドの新しいバージョンです。
heroku pg:backups restore `heroku pg:backups public-url -a YOUR_PRODUCTION_APP_NAME` YOUR_STAGING_DATABASE_NAME --app YOUR_STAGING_APP_NAME --confirm YOUR_STAGING_APP_NAME
バックアップファイルの作成:
pg_dump -U USERNAME DATABASE --no-owner --no-acl -f backup.sql
SQLファイルからherokuへの復元:
heroku pg:psql --app APPNAME < backup.sql
(ボーナス)herokuアプリデータベースからすべてのテーブルを削除する(例):
heroku pg:reset --app APPNAME HEROKU_POSTGRESQL_ROSE
posgresql herokuパネルからDATABASE_URLを取得(psql行)
SQLをローカルのPostgresインスタンスにロードし、正しいことを確認します。次に、こちらの指示に従ってデータをダンプします。 https://devcenter.heroku.com/articles/heroku-postgres-import-export
最後に、ダンプをパブリックWebサーバー(S3など)にアップロードし、次のようにHerokuに復元します。
heroku pgbackups:restore DATABASE 'https://s3.amazonaws.com/me/items/3H0q/mydb.dump'