【问题所在】
PbootCMS在添加扩展字段时会自动为字段创建索引,当字段数量超过一定限制时就会触发MySQL的64键限制。这个逻辑有问题:判断条件是 != 'TEXT' 或 != 'datetime',实际上几乎所有类型都会创建索引(包括varchar类型)。
【解决方案】
找到/apps/admin/controller/content目录下的ExtFieldController.php文件在大约117行 // 字段不存在时创建,其中的添加索引部分,可以去掉。
// 只保留添加字段,不创建索引
$result = $this->model->amd("ALTER TABLE ay_content_ext ADD $name $mysql NULL COMMENT '$description'");

就这么简单的一套操作下来,你的网站管理后台可以不受到限制,还能再增加模型字段的扩展字段数据。
好了,本次分享仅作记录,也帮助后来者如果遇到相似问题提供一个解决思路。
报道
投稿


徐伟轩博客
苏ICP备17037071号-7
安全提示
您将要访问:
我们无法验证此外链的网页内容是否合规,我们亦不对此网页进行任何内容负责,请注意甄别安全性!