LoginSignup
37
49

More than 3 years have passed since last update.

migrationファイルの削除

Last updated at Posted at 2019-07-31

状況

マイグレーションステータスにNO FILEが存在しているので、消したい。

$ bundle exec rake db:migrate:status

database: ***/development.sqlite3

 Status   Migration ID    Migration Name
--------------------------------------------------
   up     20150708134153  ********** NO FILE **********
  down    20150722185435  Devise create users
  down    20150722190233  Add columns to users

railsのrakeのmigrationファイルを削除しNO FILEとstatusに出た時の対処を参考に対応する。

マイグレーションファイルを復活させる

上記のstatusコマンドで確認したIDを元に、以下のファイルを作成する。

$ vim db/migrate/(migration_file_id)_tmp.rb
class Tmp < ActiveRecord::Migration
  def change
  end
end

statusコマンドを再確認し、NO FILEが消えていることを確認する。

$ bundle exec rake db:migrate:status

database: ***/development.sqlite3

 Status   Migration ID    Migration Name
--------------------------------------------------
   up     20150708134153  Tmp
  down    20150722185435  Devise create users
  down    20150722190233  Add columns to users

マイグレーションファイルをdown statusに変更する

downに変更

$ bundle exec rake db:migrate:down VERSION=(migration_file_id)

ステータスがdownになっていることを確認する

$ bundle exec rake db:migrate:status

database: ***/development.sqlite3

 Status   Migration ID    Migration Name
--------------------------------------------------
  down    20150708134153  Tmp
  down    20150722185435  Devise create users
  down    20150722190233  Add columns to users

マイグレーションファイルを削除する

削除

$ rm -rf db/migrate/20150708134153_tmp.rb 

ステータスを確認

$ bundle exec rake db:migrate:status

database: ***/development.sqlite3

 Status   Migration ID    Migration Name
--------------------------------------------------
  down    20150722185435  Devise create users
  down    20150722190233  Add columns to users

履歴が消えた!

37
49
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
37
49