Rails マイグレーションファイル未実行手順(rollbackもしくはreset)

マイグレーションファイルを生成し、rails db:migrateした後に変更したい場合の手順を記す。

rails db:migrate:rollback と rails db:migrate:resetの違い

  • rollback →マイグレーションファイルdb:migrateした順番に1つずつ未実行にする(up→down)

  • reset →db:migrateした全てのマイグレーションファイルを一度未実行にする。(データベースを消す) ※データベースを消しているので、テストファイルを作っている場合は再度rails db:seedコマンドを打つ必要があり。

実装

まずは現在実行されている(upになっている)マイグレーションファイルを確認する。

$ rails db:migrate:status

その後に該当するマイグレーションファイルを未実行にする。(未実行にしてからファイルを変更する)

$ rails db:rollback
もしくは
$ rails db:migrate:reset

変更後、再度migrateを実行

$ rails db:migrate

参考サイト

qiita.com