##状態
$rails db:migrate 実行後のマイグレーションファイルを削除してしまい、NO FILEのファイルが出来た。
##解決方法
#####1、migrateの状態確認。
ターミナル
rails db:migrate:status
するとこうのように表示される↓
ターミナル
Status Migration ID Migration Name
--------------------------------------------------
up 20200602094458 Create messages
up 20200604080747 ********** NO FILE **********
#####2、NO FILEのMigration IDをコピペし、ダミーファイルを作成。(hogeのとこは任意)
ターミナル
touch db/migrate/20200604080747_hoge.rb
#####3、ダミーファイルの中身を作成。
20200604080747_hoge.rb
class Hoge < ActiveRecord::Migration[5.2]
def change
end
end
#####4、Migration Nameが付与されていることを確認。
ターミナル
rails db:migrate:status
するとこうのように表示される↓
ターミナル
Status Migration ID Migration Name
--------------------------------------------------
up 20200602094458 Create messages
up 20200604080747 Hoge
#####5、削除したいマイグレーションファイルのStatusをdownにする。($ rails db migrate 実行前に戻す)
ターミナル
rails db:migrate:down VERSION=20200604080747
downになったか確認
ターミナル
rails db:migrate:status
↓
ターミナル
Status Migration ID Migration Name
--------------------------------------------------
up 20200602094458 Create messages
down 20200604080747 Hoge
#####6、downを確認したら削除
Status Migration ID Migration Name
--------------------------------------------------
up 20200602094458 Create messages
マイグレーションファイルの扱い要注意ですね。
かなりの時間ロスです。