web-dev-qa-db-ja.com

.sqlファイルをHeroku postgresデータベースにインポートするにはどうすればよいですか?

Herokuのpostgresデータベースにインポートする別のデータベースのバックアップsqlファイルがあります。どうやってやるの?

34
Some Guy

これがあなたのやり方です:

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
72
SergeyB

バックアップファイルの作成:

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行)

17
Abel

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'
2
Dan Kohn