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 1 year has passed since last update.

マイグレーションのステータスで表示される、NO FILEを表示させなくするには

Posted at

環境

Rails5.2
Ubuntu20.4

内容

不要になったため、マイグレーションファイルをrmで削除したのだが、不用意であったため、マイグレーションのステータスを表示すると、NO FILEで残ってしまうこととなった。

$ rails db:migration:status
up     20220819003642  ********** NO FILE **********

このNO FILEをステータスから削除することとする。まずは、20220819003642_test01.rbという空ファイルを作成してやる。test01の部分は、どのような名前でもOKです。すると、NO FILEから、マイグレーションの履歴が復活しました。

$ rails db:migration:status
up     20220819003642  Test01

20220819003642_test01.rbの状態はupになっています。削除するには、downにする必要があります。空ファイルに、空のchangeメソッドを記述します。

20220819003642_test01.rb
class Test01 < ActiveRecord::Migration[5.2]
    def change
    end
end

1つだけロールバックすると、コマンドは正常に流れます。

$ rails db:rollback STEP=1
== 20220819003642 Test01: reverting ===========================================
== 20220819003642 Test01: reverted (0.0024s) ==================================

ステータスを表示すると、状態がdownに変更されます。

$ rails db:migration:status
down    20220819003642  Test01

作成したマイグレーションファイルを削除します。

$rm 20220819003642_test01.rb

マイグレーションのステータスを表示すると、一時的に作成したTest01の履歴は消えています。

$ rails db:migration:status
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?