MySQL バージョン5.7と8.0が喧嘩してたお話
errorを倒すと経験値が入るのは、我々界隈では常識
ぱっと紹介できる丁度良いerrorとエンカウントしたので、遭遇条件、対象法を走り書きで保存する。
※専門用語が飛び交い、いつものブログと毛色が違うかもですご了承ください。
同じ状況の人のために先に解決方法を明示。
Dockerのイメージ、ボリュームを全部消すんだ!
以下、ある程度丁寧に説明。できてるかな!?
問題
最近ハッカソンで作ったMySQL ver5.7がDocker によってほか環境にまで影響していた。既存プロダクトのMySQL ver8.0と喧嘩を始める。
発覚理由
既存プロダクトで、DB操作を全くできないことが判明。
Railsの新モデル作成時、カラム追加時にdb:migrateが動かない。
状況確認
シンプルな、dbがないというerrorなら新しくdb:create等で作り直せば、なんとかなる。
だが、全部動かん!!! (reset drop and so on)
ターミナルでDBのログを見る。
あれ?何か2ついないか?みたいなerrorがある。
新規プロダクト(ハッカソンで作った環境)でDB環境をDockerでこねこねしてたのを思い出す。
error討伐
Docker DesktopでImage, Volumes, Contanersを全削除。
その後、docker compose buildし、db操作。動く、こいつ動くぞ!! 勝ち!!!
何か、このerrorを防ぐ、Docker Desktopの設定もあるらしい。自分のとこには、なかたよ~(泣)
多分、MacのDocker Desktopにしかない?
何か参考になれば、嬉しいです。
読んでいただき、ありがとうございました!