切换数据库报错索引长度过长

使用默认hsqldb创建数据库正常,切换到Mysql的时候报错
微信截图_20200611093941

是否有尝试重新生成数据库脚本?

怎么重新生成,不知道我的操作对不对

我切换数据库后用CUBA > Generate Database Scripts重新生成了脚本,但是问题还是存在

好的,这个问题是你的 index 中有个字段太长了,mysql 只支持最长 1000 byte 的字段做索引。
看来是 name 字段过长?

是的,索引太长,但是这个sec_role表是cuba自动创建的表吧,不是我设计的

你用的 mysql 是哪个版本?从文档看 7.2 要求 5.6 以上。建议使用 5.7,index 的长度改到了 3072 byte

好了,数据库引擎的原因,改成InnoDB就可以了

1赞