Herokuで以下のコマンドを実行した際にローカルではうまく行くがherokum環境で失敗する理由が知りたい。
heroku run rake db:migrate
エラー
Mysql2::Error: Specified key was too long; max key length is 767 bytes
/app/vendor/bundle/ruby/2.5.0/gems/mysql2-0.5.2/lib/mysql2/client.rb:131:in _query' /app/vendor/bundle/ruby/2.5.0/gems/mysql2-0.5.2/lib/mysql2/client.rb:131:in
block in query'
/app/vendor/bundle/ruby/2.5.0/gems/mysql2-0.5.2/lib/mysql2/client.rb:130:in handle_interrupt' /app/vendor/bundle/ruby/2.5.0/gems/mysql2-0.5.2/lib/mysql2/client.rb:130:in
query'
この様に、utf8mb4でmigrateしたために767 byte問題が生じています。
少し調べたところ、
my.cnf
1[mysqld] 2character-set-server=utf8mb4 3collation_server=utf8mb4_unicode_ci 4[client] 5default-character-set=utf8mb4
をherokuをHerokuで設定すればいいのかと思っているのですが、大丈夫なのか?およびどの様に設定すればいいか教えてください。
ruby
1create_table :comments, options: 'ENGINE=InnoDB ROW_FORMAT=DYNAMIC'
の等のmigrationは実装しています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。