[rails] NOFILEのマイグレーションファイルを削除


事件内容

このようなファイルができてしまい、
rollbackができないため、マイグレーションファイルをdownさせることができない

up     20200926110535  ********** NO FILE **********

事件が起こった経緯

おそらくマイグレーションのステータスがUPの状態で
マイグレーションファイルを削除してしまった。

私の場合はgitデスクトップでchangeを丸ごと削除したので、この事件が起きた模様。

解決策

えっと、皆様が載せてくださっていた記事を何個か見させていただいた結果、無事解決いたしました。

まず、no faileに名前を付与するために
ターミナルでこのコマンドを実行してください
(マイグレーションIDはあなた様のnofileになっているIDに変えてください。
  その後の名前はダミーですのでなんでも構いません。)

% touch db/migrate/20200926110535_fuwafuwa.rb

実行後↓

20200926110535_fuwafuwa.rb
class Hoge < ActiveRecord::Migration[5.2]
  def change
  end
end

そうすれば、上記の名前マイグレーションファイルが
存在しているはずです。

バージョンはあなた様のrailsのバージョンを指定してください!!!!!

その後, rails db:migrate:statusで確認するとこのようになっていれば成功です。

up     20200926110535  fuwafuwa

あとは、先ほどのマイグレーションファイルを削除すれば無事解決!