<この記事について>
自作のアプリ製作中に"rails db:migrate:status"で状況確認した所、
"NO FILE"となっているマイグレーションファイルを発見。
不要なファイルのため削除する方法を備忘録として投稿!
[環境]
・Ruby 2.6.5,
・Rails 6.0.0
・macOS
% rails db:migrate:status
ステータスを確認すると"NO FILE"と表示される
Status Migration ID Migration Name
--------------------------------------------------
up 20201201125021 Remove name from tweets
up 20201202142455 Create comments
up 20201206104547 ********** NO FILE **********
以下のコマンドを入力する
% vim db/migrate/(migration_file_id)_tmp.rb *この場合"20201206104547"
class Tmp < ActiveRecord::Migration
def change
end
end
再度ステータスを確認
% bundle exec rake db:migrate:status
先ほど入力した"Tmp"に変わる
Status Migration ID Migration Name
--------------------------------------------------
up 20201201125021 Remove name from tweets
up 20201202142455 Create comments
up 20201206104547 Tmp
ステータスをdownに変更する
% bundle exec rake db:migrate:down VERSION=(migration_file_id)
Status Migration ID Migration Name
--------------------------------------------------
up 20201201125021 Remove name from tweets
up 20201202142455 Create comments
down 20201206104547 Tmp
削除する
% rm -rf db/migrate/20150708134153_tmp.rb
最後にステータスを確認
% bundle exec rake db:migrate:status
Status Migration ID Migration Name
--------------------------------------------------
up 20201201125021 Remove name from tweets
up 20201202142455 Create comments
消えました!