rails db:rollbackでエラーが出てしまい、rollbackできない時の対処方法。

rails db:rollbackができない場合の対処方法をまとめていきます。

  1. マイグレーションファイルの変更方法
  2. rails db:rollbackでstatusがdownにならない時

 

1、マイグレーションファイルの変更方法

マイグレーションファイルはエディタ上では書きかえられますが、そのままでは反映されません。コードを変更する前にターミナルで

rails db:rollback

と入力し一度戻して

rails db:migrate:status

と入力し確認すると 

gyazo.com

 上のようになります。(下から順に一つずつ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

と順番に打つと

gyazo.com

のように********** NO FILE **********が消えます。

その後、

rails db:rollback

と打つと、一番下がdownになり、マイグレーションファイルが変更出来るようになります。