Heroku Postgresでデータベースを設ける場合の方法.

目次

  1. プロジェクトの作成
  2. エクスポート・インポート
    1. Heroku Postgresからエクスポート
    2. ローカルへインポート
    3. ローカルからエクスポート
    4. Heroku Postgresにインポート

プロジェクトの作成

  • heroku createでプロジェクトを作成
  • ResourcesのAdd-onsでHeroku Postgresを追加
  • Heroku Postgresの管理画面へ進む
  • Settings > Database Credentials > View Credentials にあるHeroku CLIをターミナルで実行する

エクスポート・インポート

Heroku Postgresからエクスポート

バックアップの作成とダウンロードで2段階ある.
APP_NAMEは適当に変更すること.

heroku pg:backups:capture --app APP_NAME
heroku pg:backups:download --app APP_NAME

これで,データベースのバックアップであるlatest.dumpがダウンロードできる.

ローカルへインポート

pg_restoreコマンドでlatest.dumpファイルをインポートする.
ユーザー名やデータベース名は適当に変更すること.

pg_restore --verbose --clean --no-acl --no-owner -h localhost -U myuser -d mydb latest.dump

ローカルからエクスポート

pg_dumpコマンドによりデータベースをmydb.dumpファイルとしてエクスポートする.
ユーザー名やデータベース名は適当に変更すること.

pg_dump -Fc --no-acl --no-owner -h localhost -U myuser mydb > mydb.dump

Heroku Postgresにインポート

データベースmydb.dumpを適当な場所にアップロードし,取得させる.
Heroku Postgres上でDATABASE_URLを調べておくこと.
また,APP_NAMEは適当に変更すること.

heroku pg:backups:restore 'https://example.com/mydb.dump' DATABASE_URL --app APP_NAME