default: &default adapter: mysql2 pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> username: root password: password timeout: 5000 #下記の2つを追加 encoding: utf8mb4 charset: utf8mb4 なぜ解決できたのか? 自分でも結果的にたまたま解決しただけではすっきりしないので、なぜ解決できたのか分かる範囲で書いておこう。 以前別のアプリケーションを作った時にMySQLの設置ファイルであるmy.cnfにinnodb_large_prefixを有効にする設定をしていた。 innodb_large_prefixは長い文字列を許可するための設定だ。 今回、encodingとcharsetの設定がそれに合う形に設定されていなかったのが原因だった