画竜点睛を衝く@mapyo

日々やった事をつらつらと書くブログです

herokuにDeployしたタイミングでdb:migrateを実行したい

https://devcenter.heroku.com/articles/getting-started-with-rails4#migrate-your-database

この辺とか見ると、普通にmigrateを実行する感じである。

heroku run rake db:migrate

でもどうせならDeployしたタイミングで自動で反映させて欲しい。手でいちいち打つのは面倒くさいのである。

そこで以下のBuildpackを使う

github.com

heroku buildpacks:set https://github.com/heroku/heroku-buildpack-ruby
heroku buildpacks:add https://github.com/gunpowderlabs/buildpack-ruby-rake-deploy-tasks
heroku config:set DEPLOY_TASKS='db:migrate cache:clear'

こんな感じで設定するとDeployする時に勝手に実行してくれるようになる。

最近は

github.com

これを使っているので、rakeタスクを作って、

heroku config:set DEPLOY_TASKS='ridgepole:apply'

こんな感じに設定している。ridgepole:applyのrakeタスクは以下のサイトのような感じに作ってる。

fujiyasu.hatenablog.com

所感

ridgepole最高です。(タイトルと関係ない)