在rails 4.2.4中,我在运行迁移命令时收到类似Mysql2::Error: Index column size too large. The maximum column size is 767 bytes.的错误。
Mysql gem是,
mysql2 (0.3.20, 0.3.18)当我在控制台中运行这个ActiveRecord::Base.connection.collation时,我得到了类似于"utf8_general_ci"的输出
如何解决此问题?请帮帮我。
发布于 2015-10-09 13:24:14
innodb表中单列索引的最大长度为767字节(innodb restrictions)。您可能尝试使用超过255个字符的utf8字符集(每个字符最多3个字节)对varchar列进行索引。
解决方法可能是设置innodb_large_prefix mysql服务器配置变量,或减少该列的最大长度,或更改字符集和排序规则,或将该列拆分为多个列。
https://stackoverflow.com/questions/33030281
复制相似问题