HerokuのRelease PhaseでDBマイグレーション忘れを防ぐ
HerokuにはRelease Phaseという機能があります。
これはアプリケーションのビルドが終わってリリースする直前に任意のコマンドを実行するもので、DBのマイグレーションやキャッシュの削除といった用途に使えます。
設定方法はProcfile
にrelease: command
の形式で書くだけです。例えば、Railsでmigrateとseed-fuを実行するのであれば以下のようになります。
1 | release: bin/rails db:migrate db:seed_fu |
DBマイグレーションを忘れて500エラーはあるあるな話ですが、これで防ぐことができます。
コマンドが失敗したとき(0以外のステータスで終了したとき)はもちろんデプロイは行われません。
Herokuはかゆいところに手が届いて便利ですね。