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

目次

マーケター、エンジニアを月1時間からジョインできるプラットフォーム

airteamは月1時間からマーケターやエンジニアに相談できるプラットフォーム。 雇うのはハードル高いけどプロをチームに入れたい。そんな経営者のためのサービスです。 相談にのる方も募集しています。

タスクなしだから月一時間からジョイン可能

作業はなくオンライン相談メイン。 月1時間からさっと経験者に継続的に相談できます。

多様な経験者を雇用するより何倍も早くチームに

あらゆるジャンルの経験者がいるので あなたのチームのノウハウの選択肢が広がります。

NDAはすでに締結済み、契約もスムーズ

契約の煩雑なやりとりはなく、NDAはすでに締結済み、書面のやりとりはありません。

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を変更する形でもいける。