*これはホントにあった怖い話です。
マイグレーションファイルを間違ってUpのまま削除した男がいました。
その男は怖くなってしまい、また新しくrails g modelコマンドで、
モデルとマイグレーションファイルを生成してしまいました。
そして男は無限にエラー地獄を彷徨うこととなったのでした。
そんな男(自身)の失敗から学んだ事を書いていきます。
結論から言うと、
マイグレーションファイルを修正したり、削除する際は、
必ず
rails db:rollback
で、downの状態でマイグレーションファイルを操作するようにしましょう。
まず、削除してしまったものはしょうがないです。
解決方法
rails db:migrate:statusでステータスの確認をします。
NO FILEとなっているマイグレーションIDの番号をコピペして
手動で仮のマイグレーションファイルを作成します。
(例)
2343687287282_sample と作成します。
作られたファイルは空っぽなので
こんな感じに記述をしてあげます。
*ここで大事なのはclass名を必ず Sample にする事です。
このファイルを作成後にrails db:migrate:statusをすると
先ほどまでNO FILEだった所にSampleができ上がっています。
最後にrollbackをしてあげましょう。
その後、削除してあげるとエラーなく無事解決です。
間違い等ございましたらご指摘、ご教示のほどよろしくお願い致します。