PostgreSQLのバージョンを上げるときとか、プランを変更する場合に。
新規DBを作成し(その時点でのデフォルトバージョンになる、プラン変更すればそのプランのものができる)、そのDBに今使っているDBのデータをコピー。使うDBを、新しく作ったDBに向け直す。
アプリケーション側で DATABASE_URL に接続するようになっていると楽なので、もしそうでない場合はそのように変更してから作業すること。
heroku addons:create heroku-postgresql:hobby-basic -a sushi
hobby-basic の部分は新しく使うHeroku Postgresのプランによって変更heroku pg:wait -a sushiheroku maintenance:on -a sushi
heroku ps:scale worker=0 -a sushiheroku pg:backups capture DATABASE_URL -a sushiheroku pg:backups -a sushiheroku pg:copy DATABASE_URL {NEW_DB_NAME} -a sushiheroku pg:promote {NEW_DB_NAME} -a sushiheroku config -a sushi
DATABASE_URL が変わったのを確認するheroku maintenance:off -a sushi
heroku ps:scale worker=1 -a sushiheroku pg:backups schedules -a sushi
DATABASE_URL がバックアップ対象であることを確認するheroku addons:destroy {OLD_DB_NAME} -a sushiheroku pg:backups -a sushisushi はアプリケーションの名前heroku pg:info -a sushi でDBの状態を確認しつつ進むこと
ssl: { rejectUnauthorized: false } のような設定が必要。