Heroku PostgreをHobby Basicプランに移行したメモ

概要

HerokuのFreeプランがなくなるので、個人開発しているアプリのHeroku PostgreをHobby DevからHobby Basicに移行しました。

https://blog.heroku.com/next-chapter

ユーザーは自分だけのアプリだったので、本番環境を停止してDBを切り替えました。

やったこと

本番環境アプリを停止する。

$ heroku ps:scale web=0 --app app-prod
 ›   Warning: heroku update available from 7.62.0 to 7.65.0.
Scaling dynos... done, now running web at 0:Free

ステージング環境のHeroku Postgreにデータを退避する。

$ heroku pg:copy app-production::DATABASE_URL DATABASE --app app-staging
 ›   Warning: heroku update available from 7.62.0 to 7.65.0.
 ▸    WARNING: Destructive action
 ▸    This command will remove all data from DATABASE
 ▸    Data from DATABASE will then be transferred to DATABASE
 ▸    To proceed, type app-staging or re-run this command with --confirm
 ▸    app-staging

> app-staging
Starting copy of DATABASE to DATABASE... done
Copying... done

本番環境のHeroku Postgre (Hobby Dev)を削除する。

本番のHeroku Postgre (Hobby Basic)を作成する。
Hobby Devの時と同じ名前 DATABASE としてアタッチされるはず。

ステージング環境のHeroku Postgreからデータをコピーする。

$ heroku pg:copy app-staging::DATABASE_URL DATABASE --app app-production
 ›   Warning: heroku update available from 7.62.0 to 7.65.0.
 ▸    WARNING: Destructive action
 ▸    This command will remove all data from DATABASE
 ▸    Data from DATABASE will then be transferred to DATABASE
 ▸    To proceed, type app-production or re-run this command with --confirm app-production

> app-production
Starting copy of DATABASE to DATABASE... done
Copying... done

本番環境のアプリを起動する。

$ heroku ps:scale web=1 --app app-production
 ›   Warning: heroku update available from 7.62.0 to 7.65.0.
Scaling dynos... done, now running web at 1:Free

コメントする