高木のブログ

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.

~~ 省略 ~~~

ちょうどタイミングよく新しいマイグレーションがなかったので出来てるって感じはしないけど、ちゃんと動いてるっぽい。


Pixela