db:migrate:status から ********** NO FILE ********** を消す
何番煎じかわからんけども、備忘録。
開発中とかによくやっちゃうわけですよ。
migrateかけた後に「やっぱ違う」と思ってrollbackなどをせずにmigrationファイルを消す。
ってことを。
で、そうするとdb:migrate:statusを実行した際にこいつがあらわれます。
# bundle rake db:migrate:status up 20190523053718 ********** NO FILE **********
そうするとschema.rbにもversionの履歴にカウントされてしまうので、schema.rbさんが使い物にならなくなります。
というわけで、何かと鬱陶しいので消します。
①まず下記のようにファイルを作成します。
# (version)_tmp.rb touch 20190523053718_tmp.rb
②①で作成したファイルに下記の内容を追加
class Tmp < ActiveRecord::Migration[5.2] def change end end
※railsのversionによってActiveRecord::Migration[x.x]の内容が違います。
③db:migrate:downを実行
bundle exec rake db:migrate:down VERSION=20190523053718
④作成したファイルを削除
rm 20190523053718_tmp.rb
これで