悩み事
% rails db:migrate:status
//上記のコマンドを実行しマイグレーションファイルの状態を確認
Status Migration ID Migration Name
--------------------------------------------------
up 20210615121248 Devise create users
up 20210616102139 ********** NO FILE **********
down 20210616104745 Create likes
NO FILE が邪魔して%rails db:migrateが実行できない
※誤ってマイグレーションファイルを消してしまったのが原因。
ファイルに借りの名前をつける
% touch db/migrate/20210616102139_hoge.rb
NO FILEのMigrate IDを指定して仮のファイルを作成する
20210616102139_hoge.rb
class Hoge < ActiveRecord::Migration[6.0]
def change
end
end
マイグレーションファイルと誤解させる為の記載をする
# コマンドを実行し問題ファイルをupからdownにさせる
%rails db:migrate
//上記のコマンドでStatsがdownになった方もおられる様ですが、理想通り行かない場合は↓
% rails db:reset
おそらく現段階でStatsをdownさせれていることでしょう。
最終工程、仮ファイルの消去
% rm -rf db/migrate/20210616102139_hoge.rb
% rails db:migrate:status
Status Migration ID Migration Name
--------------------------------------------------
up 20210615121248 Devise create users
down 20210616104745 Create likes
以上が対処法となります。
% rails db:migrate 実行で通常通りの作業風景が見えてくるはずです。
今回の処置をする際様々な場所でエラーが多く発生し焦りましたが、逆にrailsの勉強になったと考え前向きに進んで行こうと思えてきました!!