0
1

More than 3 years have passed since last update.

【Ruby on Rails】NO FILEと表示されているマイグレーションファイルを削除する方法

Posted at

対象者

  • NO FILEと表示されたマイグレーションファイルを削除したい方
  • modelを削除したけど、マイグレーションファイルだけ残ってしまた方

目的

  • up状態のマイグレーションファイルをdownに戻して削除すること

実際の手順と実例

1.状況確認

$ rails db:migration:status

上記を実行すると下記の表示が出ます


 Status   Migration ID    Migration Name
--------------------------------------------------
   up     20210915023701  Create articles
   up     20210915065320  ********** NO FILE **********
  down    20210915080932  Devise create users

2.ダミーファイル作成

真ん中のup状態のダミーファイルを作成します。
Migration IDをコピペして作成します。
下記コマンドで作成してもNewfileで作成しても大丈夫です。

$ touch db/migrate/20210915065320_hoge.rb

これで再度rails db:migrate:statusを実行すると下記のように表示されます。

Status   Migration ID    Migration Name
--------------------------------------------------
     up     20210915023701  Create articles
     up     20210915065320  hoge
    down    20210915080932  Devise create users

後は下記コマンドを実行すればdownになるので、その後削除して、完了です。

$ rails db:migrate:down VERSION=20210915065320

こちらも参考にしてみてください。

3.ちなみに、、、、、

データベースにあまりデータが入っていなければ、db:migrate:resetかけるのもありらしいです。

投稿者コメント

チーム開発のときのみならず、PF作成でもやってしまったので、戒めをこめて記事にしました。
model削除する時は気をつけないと、、、、、、

My Profile

プログラミング学習歴3ヶ月目のアカウントです!
プログラミングスクールで学んだ内容や自分が躓いた箇所等のアウトプットの為に発信しています。
また、プログラミング初学者の方にわかりやすく、簡潔にまとめて情報共有できればと考えています。
もし、投稿した記事の中に誤り等ございましたら、コメント欄でご教授いただけると幸いです。 

0
1
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
1