作業ブランチでのマイグレーションが他のブランチでの問題を隠匿してしまうことがあるため
作業ブランチから移動するときには migrate:down
するようにしている。
「マイグレーション実施前にdownすべきバージョン番号をメモし、後でdown用のコマンドに置換する」
という作業が面倒になったので
最初からdown用のコマンドを標準出力してくれるコマンドを用意した。
マイグレーション実施前にメモしないといけない問題はまだ変わらないが。
bundle exec rake db:migrate:status | grep down | sed -e 's/ down \+\([0-9]\+\) \+.*/bundle exec rake db:migrate:down VERSION=\1/g' | tac
マイグレーションでのスキーマ運用に行き詰まったらridgepoleを参考に検討すると良さそう。
https://github.com/winebarrel/ridgepole