0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

[Ruby on Rails] 誤ってマイグレーションファイルをの削除してしまったときの対応

Posted at

悩み事

% 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の勉強になったと考え前向きに進んで行こうと思えてきました!!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?