沼った
rails db系のコマンドが効かなくて沼った。。。。
作業記録。起きた事象は見出しのとおり。
- デフォルトのマイグレーションファイルを適用して、そのあとAdd_columnをmigrateをして、rollbackとかしたせい?
- ググってたら、「一旦ルーティングの
devise_for :users
を消すと、railsコマンドはつかえるようになる。」とか出てきた。
- こねこねしてる途中で、適用済みのマイグレーションファイルの削除しちゃって、’ファイルがありません’みたいなエラーになったり・・・。
- 数時間、試行錯誤。
結果
続きの補足カリキュラム読んだ結果、rails db:migrate:reset
なるやり直し方があるとのこと。(ですよね)
これで綺麗さっぱり。補足カリキュラムさんありがとう。
追記(こっちが正解)
└upのマイグレーションファイルを削除したときの対処方法
というか、補足カリキュラムの後半に、正しい対処が出てきた。
どうやら小生はこの沼にいた模様。
- up済みのIDから仮のファイルを作成する。
touch db/migrate/20230729003134_hoge.rb
- マイグレファイルとして、仮の記述 をする。 <= これやらんかった。
( ~34_hoge.rb と class Hoge < Ac~ は合わす!)
- rollbackで、マイグレーションファイルをdownにして削除する。
└ちなみに、rollbackさんは、1つずつしかdownしないのに、migrateさんはいっぺんにupする。
└複数downしたい時は、何回もrollback
class Hoge < ActiveRecord::Migration[6.0] def change end end