🙌

rails マイグレーションにて 一歩進んで二歩下がる 進めてない

2021/01/05に公開

みなさん、こんばんは!

早速ですが、タイトルの付箋回収ではないんですが、結果的に昨日の夜の作業より後退してしまった話。

シチュエーション

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