【Rails】db:migrate:statusで*** NO FILE ***と出た時の対処

マイグレーションファイルをrollbackせずに、削除してしまった時など、 マイグレーションのステータスに********** NO FILE **********と出てしまった時の対処です。

問題の箇所

Statusがupの状態で、ファイルが削除されて、NO FILEとなっています。

対処法

ステータスがupとなっているところをdownにしなければいけないので、そのためのマイグレーションファイルをdb/migrate配下に作成します。NO FILEとなっているマイグレーションIDのファイルが必要なので、20181021135030_dummy.rbとします。
内容は以下のような内容でOKです。Rails5からはmigration versioingが導入されていますので、それぞれのRailsのバージョンを指定します。

db/migrate/20181021135030_dummy.rb

この状態でもう一度、ステータスを見ると、作成したマイグレーションファイルが確認できます。

そして、次のコマンドでdownにします。(マイグレーションIDはご自身のものを指定)

ステータスを確認するとdownになっていますね。

あとは20181021135030_dummy.rbを削除すれば、OKです。

以上です!!
ご覧いただき、ありがとうございました!!


投稿者:

Shuji

読書したり、プログラミングしたりしています。何かアウトプットできそうなものがあれば投稿していきたいと思います。