まだ実施してないが、おそらくこれ動くはず
事前作業
まずは、新しいバージョンのDBを作成する
編集日(2013-5-9)現在のデフォルトは9.2系になっている
同じプランのDBを複数追加することも可能
heroku addons:add heroku-postgresql:dev -r staging
以下のコマンドで、確認すると PG Version が変更されているはず
heroku pg:info -r staging
古いDB: HEROKU_POSTGRESQL_IVORY_URL
新しく追加されたDB: HEROKU_POSTGRESQL_ROSE_URL
とする
移行作業
手順としては、
- 停止
- バックアップ
- リストア
- DB切り替え
- 再開
停止
heroku maintenance:on -r staging
バックアップ
heroku pgbackups:capture -r staging
新しく取得されたバックアップID: b001
リストア
heroku pgbackups:restore HEROKU_POSTGRESQL_ROSE_URL b001 -r staging
DB切り替え
heroku pg:promote HEROKU_POSTGRESQL_ROSE_URL -r staging
再開
heroku maintenance:off -r staging
以上の手順で移行できる