基本的には何もいじらずデフォルトの設定でマイグレーションしようとしただけなのでそれでエラー出るってどうよっていう話ですが、gem入れた後に
rails g devise user
でモデル作って何も触らず
rails db:migrate
しようとしたら
Mysql2::Error: Specified key was too long; max key length is 767 bytes
とエラーが出ました。
原因はこちらの記事に実にわかりやすくまとまっていました。
emailの文字数制限を変えることで解決する方法が載っていました。
自分はめっちゃ長いメールアドレスあったらどうすんねんとか訳のわからない意見が自分の中に湧き上がってきたので別の方法で解決しました。ええ。文字コード自体変えました。
database.yml
default: &default
adapter: mysql2
# encodingの値をutf8mb4からutf8に変更
encoding: utf8
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
username: root
password:
socket: /tmp/mysql.sock
#(以下略)
めでたしめでたし。
それにしてもカラムの型がvarchar(255)だとエラー出るとか納得いかない
#参考にした記事
https://qiita.com/terufumi1122/items/9ea764618eba01144e09