mozyのかきおき

mozyの読書感想文や思考置き場

Rails マイグレーション時は redo を使って動作確認しよう

Tips

マイグレーション時には、バージョンアップする時のことは結構考えるけど、ダウンする時の考慮が抜けていることがあるため、
Railsマイグレーションをする際のTipsとして redo を紹介します。

使い方

  1. bin/rails db:migrate で自分が書いたマイグレーションが、バージョンを上げる際に想定通り動く事を確認
  2. bin/rails db:migrate:redo で自分が書いたマイグレーションが、バージョンを下げる際にも問題なく動く事を確認

redo は何をしているのか

db:migtate:redo を実行すると、バージョンを下げた後にもう一度あげている。
そのため、実行して動作を確認した後は手元の環境は最新に戻っているため、すぐに開発に取りかかれる。便利。

応用として、redo を使う事で、
migrationファイルを作った後、あーこのカラムも追加したいなぁと思ったときに、マイグレーションファイルを書き換えて、redoを走らせれば新たにmigrationファイルを作らなくともカラムが綺麗に追加されて元の状態に戻るので超便利

参考

http://railsdoc.com/references/rake%20db:migrate