6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

バージョン指定して特定のマイグレーションファイルを削除する、ついでにNO FILEのマイグレーションファイルも消す

Posted at

はじめに

あんまりつかうことがないので忘れがちなマイグレーションファイルの削除について....

statusでみる

& bundle exec rails db:migrate:status
up     202312250xxxx Delete hoge
up     202401091xxxxx  Add hoges
up     20240207xxxxxx  Change hoge body
up     2024030xxxxxxx  Add hoge messsage

消す

up     202312250xxxx Delete hoge
up     202401091xxxxx  Add hoges // これを消す
up     20240207xxxxxx  Change hoge body
up     2024030xxxxxxx  Add hoge messsage

downする

$ bundle exec rails db:down VERSION=202401091xxxxx

statusをみる

up     202312250xxxx Delete hoge
down     202401091xxxxx  Add hoges 
up     20240207xxxxxx  Change hoge body
up     2024030xxxxxxx  Add hoge messsage

いいね

次に消す

$rm db/migrate/202401091xxxxx_add_hoges_.rb

statusをみる

up     202312250xxxx Delete hoge
up     20240207xxxxxx  Change hoge body
up     2024030xxxxxxx  Add hoge messsage

消えてる。いいね。

NO FILEになっちゃったマイグレーションファイルを消す

間違って消しちゃったりしたマイグレーションファイルがいる....

こんな感じのやつ

up 20xxxxxxxxxxxx  **********  NO FILE  **********

IDをコピーする

20xxxxxxxxxxxx

同じIDでダミーのマイグレーションファイルを適当な名前で作成

$ touch db/migrate/20xxxxxxxxxxxx_tekitou.rb

作成されたファイルを修正する

20xxxxxxxxxxxx_tekitou.rb
class Tekitou < ActiveRecord::Migration[6.1]
  def change
      // 何も書かなくて良いです
  end
end

statusを見るとこうなっているはず

up 20xxxxxxxxxxxx Tekitou 

downする

down 20xxxxxxxxxxxx Tekitou 

消す

$ rm db/migrate/db/migrate/20xxxxxxxxxxxx_tekitou.rb

statusを見て消えているかどうかの確認をして終わり

さいごに

こういうときたまにある。

6
3
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
6
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?