未体験未感覚エンジニアの日記

ITエンジニアになるまでのITダイビング日記

Mysqlで大変な目にあったという話

Railsのversionを5.2.3 - 6.0.1に変更してからエラーの嵐です。

まずrails newコマンドが使えなくなります。作成しようとするとwebpackerがないと怒られます。はいそうですかとrails webpacker:installをするとyarnがないと怒られます。言われた通りにyarnもinstallすると無事作成出来ましたが今日はmysqlのMysql2::Error:Specified key was too long; max key length is 767 bytesというエラーをいただきました。

rails db:migrateをしたところでなったエラーで、調べるといままでdatabase.ymlにutf8の文字コードで作成されていたものがutf8mb4で作成されており、カラムの容量オーバーのためマイグレーションが実行できなかったようです。

調べた中で容量の設定を変えるとかカラムの容量を指定して抑えるとか色々方法はあるようなのですがそもそもmysqlのversion5.7以降では初めから対応しているらしいので、

いま現在私の環境ではversion5.6なのですがいっそversion5.7に上げようと考えたまではいいが何も考えずinstallしてしまったのが沼に嵌まってしまった原因です。

ローカル環境ではversion5.7、サーバー環境ではversion5.6という状況に陥り最終的にどちらもuninstallして改めてversion5.7をインストールすることで動くようになりましたが時間がかかってしまった。

事前にちゃんと調べて入ればスムーズに移行できたのになと思うと反省するばかりです。

次の移行期はスムーズに行えるように考えないと........。