rails マイグレーションにて 一歩進んで二歩下がる 進めてない
みなさん、こんばんは!
早速ですが、タイトルの付箋回収ではないんですが、結果的に昨日の夜の作業より後退してしまった話。
シチュエーション
ActiveHashを利用して、練習の記録を投稿するページを作成中。
練習していた選手たちのカテゴリー(学年)のモデルをcategory,その日の練習の評価をevaluationとして定義
練習の内容を記録する大元のモデルをrecordと定義。
ます、recordモデルを作成
rails g model record
次にActiveHashのモデルを作成
rails g model category_id --skipmigration
rails g model evaluation_id --skipmigration
ここで失敗を起こす
先走って_idを記入してしまった。
ここで気づけばよかったのだが、この流れでAcitiveStorageを導入しマイグレーションをしてしまう
Gemfile
gem 'mini_magick'
gem 'image_processing', '~> 1.2'
記入後、bundle install
ターミナル
rails active_storage:install
recordモデルのマイグレーションファイルに色々記入後
rails db:migrate
ここで上記で行くならcategory_id_id,evaluation_id_idにしないといけないが気づかない
コントローラーにparamsの情報とか、viewファイルに色々記入して保存できるか確かめると
エラー祭り!
※今回は画像を保存していないので割愛で
急がば回れ
結局、やり直そうと決めて、
Githubでマイグレーションするまで戻ったのはいいが、DBは戻っていなかったので
ステータスを確認
rails db:migrate:status
マイグレーションファイル達がupだったので
rails db:rollback
ここで戸惑う大野
一つ飛ばしてできるかも
rails db:rollback STEP=2
やはりだめだったか
ActiveStorageはgemなのでgithubでコードは消えたけど、DBには反映されないし、ファイルが無くなっているからどうしようもないのだろうか
泣く泣く
ということで
rails db:drop
rails db:create
で脱出
とりあえずここまでできたのでActiveHashのモデルだけidをのけて作成し、マイグレーションおこなうところまで終了
今はカリキュラムがあるから何とかなっているけど、公式レファレンスを参考にしながら作業ができるレベルまで上達したいな〜悔しいな〜と思った1日でした。
Discussion