rails db:rollbackでエラーが出てしまい、rollbackできない時の対処方法。
rails db:rollbackができない場合の対処方法をまとめていきます。
1、マイグレーションファイルの変更方法
マイグレーションファイルはエディタ上では書きかえられますが、そのままでは反映されません。コードを変更する前にターミナルで
rails db:rollback
と入力し一度戻して
rails db:migrate:status
と入力し確認すると
上のようになります。(下から順に一つずつdownになります。)downになったファイルを変更し、
rails db:migrate
と入力するとdownのところがupになり修正が反映されます。
2、rails db:rollbackでstatusがdownにならない時
何らかの理由でマイグレーションを消すと
********** NO FILE **********
となり、rails db:rollbackでstatusがdownにならなくなります。
その場合、
1.bundle exec raka db:drop
2.bundle exec raka db:create
3.bundle exec raka db:migrate
4.bundle exec raka db:migrate:status
と順番に打つと
のように********** NO FILE **********が消えます。
その後、
rails db:rollback
と打つと、一番下がdownになり、マイグレーションファイルが変更出来るようになります。