RailsアプリをHerokuにデプロイする際にrails db:migrateも一緒に実行するようにする方法
2019/12/29
やったこと
RailsアプリをHerokuにデプロイする際に、db:migrate
も一緒に実行するようにした。
デプロイした面倒だし、忘れることもあるので一緒に実行してくれたらいいのになと思ったらProcfileに書けばいいらしい。
やり方
設定
Procfileにrelease: rails db:migrate
を追記。
# Procfile
web: bundle exec puma -C config/puma.rb
release: rails db:migrate
動作確認
$ git push heroku master
~~ 省略 ~~~
remote: Running release command...
remote:
remote: D, [2019-12-23T06:57:47.260162 #21] DEBUG -- : (5.4ms) SELECT pg_try_advisory_lock(4073851584526618965)
remote: D, [2019-12-23T06:57:47.318112 #21] DEBUG -- : (5.9ms) SELECT "schema_migrations"."version" FROM "schema_migrations" ORDER BY "schema_migrations"."version" ASC
remote: D, [2019-12-23T06:57:47.338659 #21] DEBUG -- : ActiveRecord::InternalMetadata Load (3.4ms) SELECT "ar_internal_metadata".* FROM "ar_internal_metadata" WHERE "ar_internal_metadata"."key" = $1 LIMIT $2 [["key", "environment"], ["LIMIT", 1]]
remote: D, [2019-12-23T06:57:47.350521 #21] DEBUG -- : (1.8ms) BEGIN
remote: D, [2019-12-23T06:57:47.356765 #21] DEBUG -- : (3.7ms) COMMIT
remote: D, [2019-12-23T06:57:47.358866 #21] DEBUG -- : (1.8ms) SELECT pg_advisory_unlock(4073851584526618965)
remote: Waiting for release.... done.
~~ 省略 ~~~
ちょうどタイミングよく新しいマイグレーションがなかったので出来てるって感じはしないけど、ちゃんと動いてるっぽい。