【rails】*** NO FILE ***というファイル表示が出て rollbackできない
久々のブログになってしまったので時間をつくり、文章を書く時間をつくりたいと思っているこの頃です。
<前段>
railsで別のブランチからmasterに変更してDBを反映させるために一回DBをrollbackを行ってmigrateし直しました。
そのあと再度作業していたブランチに戻り、ファイルをrollbackしようとした時にこのエラーが出ました。
以下のような表示です
up 20200224063014 Devise create users up 20200224084346 Create items up 20200301085233 Add colum to user up 20200303044206 Remove column to user up 20200314174950 Create cards up 20200324033731 ********** NO FILE ********** down 20200327165732 Create pictures down 20200328085002 Addseller id toitems
マスターを確認しても7つのmigrationファイルしかないのですが、なぜか原因不明の8つ目のNO FILEという名前のmigrationファイルができてました。
調べて見ると、rollbackせずにファイルの削除等を実施すると発生する事象でした。 ただ前述した作業とどう関連があるのか原因不明でしたが、とりあえず復旧させましたので対応を残しました。 https://remonote.jp/rails-migrate-status-no-file
結論からいうと、「20200324033731」のIDをもつマイグレーションをファイルを
手動で作成するという手段でした。
※内容は上記のサイト内にもありました
#20200324033731_dummy.rbというファイルを作成 #ファイルの中身を以下のようにしました class Dummy < ActiveRecord::Migration[5.2] def change end end
ファイルを作成し、migrationファイルのステータスを確認すると
up 20200224063014 Devise create users up 20200224084346 Create items up 20200301085233 Add colum to user down 20200303044206 Remove column to user down 20200314174950 Create cards down 20200324033731 Dummy down 20200327165732 Create pictures down 20200328085002 Addseller id toitems
Dummyというファイルが認識されていますので、これを削除して解決しました。