herokuのpostgresをstandartに上げてrollbackできるようにする

2 min 57 views
muraoka

muraoka

pixiv、nanaでプロダクトマネージャーを経験。
現在はマーケティングやwebサービス開発のコンサルティングを行っています。

FOLLOW

herokuでwebサービスを本格稼働するにあたって元々basicで運営してたんですが、rollbackできるようにしたいのでstandartに上げることにしました。その際のメモ。

なぜstandartにしたいか

価格表

rollbackは上記にあるようにstandartから提供される。今後、サービス運営していく中でrollbackは安全面から欲しいのでstandartに上げる。

postgres価格表

https://elements.heroku.com/addons/heroku-postgresql

standartへアップグレード

standartへアップグレードするためには新しくDBを作成し、そこにコピーする形しかない。(basicの場合)basicからstandartへはなぜかアップグレードできないため。(一番アップグレードの需要高そうだが。。。

DBを作成

下記の公式ドキュメントを参考に

https://devcenter.heroku.com/ja/articles/upgrading-heroku-postgres-databases#upgrading-with-pg-copy

DBを下記コマンドで作成

heroku addons:create heroku-postgresql:standard-0 --app アプリ名

standard-0はプラン名。

メンテナンスモードに

heroku maintenance:on -a アプリ名

上記コマンドでメンテナンスモードに。dbに入力されるのを止める。

copy

heroku pg:copy DATABASE_URL HEROKU_POSTGRESQL_PINK --app example-app

上記コマンドでコピー。DATABASE_URL​ が転送するデータのソースでありHEROKU_POSTGRESQL_PINK​ がターゲットデータベースになります。これは

heroku pg:info --app アプリ名

上記でDB名を確認できます。

参照先変更

heroku pg:promote HEROKU_POSTGRESQL_PINK --app example-app

上記でみるdbを変更する。おそらく、環境変数のDATABASE_URLを変更する形でもいける。

muraoka

muraoka

pixiv、nanaでプロダクトマネージャーを経験。
現在はマーケティングやwebサービス開発のコンサルティングを行っています。

FOLLOW

カテゴリー:
関連記事