オンラインスクールの課題に取り組んでいる時に、間違って、余計なマイグレーションを行ってしまいました。
せっかく上手く動作していたのに、そのマイグレーションをきっかけにエラーが頻発。パニック。
rollbackを行おうとしたのですが、上手くできなかったため、今回は削除することにしました。
まずはマイグレーションの状態を調べる
rails db:migrate:status
で現在のマイグレーションの状態を調べます。
その結果、このように返ってきました。
Status Migration ID Migration Name
--------------------------------------------------
up 20201222113451 Devise create users
up 20201223005506 Create items
up 20201223093320 Add nickname to users
down 20201223095940 Add devise to users
一番下のファイルが余計に追加してしまったデータベースです。downになってますね。
マイグレーションを削除!
rm -rf db/migrate/20201223095940_add_devise_to_users.rb
そして、rails db:migrate
を行い、再びrails db:migrate:status
を実行。
きれいに削除されました
Status Migration ID Migration Name
--------------------------------------------------
up 20201222113451 Devise create users
up 20201223005506 Create items
up 20201223093320 Add nickname to users
きれいに最後のマイグレーションが削除され、無事に動作確認をすることができました。
まとめ
今回と問題になったパターンは違うと思いますが、rollbackを使って、マイグレーション問題を解決した方法を書きました。
今回は削除して対応してみました。
まだ上手く頭の中でマイグレーションについて理解できていませんが、少しずつ深めていきたいと思います。
先人の経験に感謝です!