PbootCMS添加模型字段出现错误:Too many keys specified; max 64 keys allowed

我们知道PbootCMS是个非常好的免费可商用的一个基于PHP和MySQL开发的CMS系统。那么为了满足开发需求,需要对模型进行字段的管理,比如产品价格、参数等内容,假设我需要加500条数据呢?可能PbootCMS会出现报错了!

【问题所在】

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'");


就这么简单的一套操作下来,你的网站管理后台可以不受到限制,还能再增加模型字段的扩展字段数据。


好了,本次分享仅作记录,也帮助后来者如果遇到相似问题提供一个解决思路。

本站内容如无特别说明,均为原创,受《中华人民共和国著作权法》保护。转载请联系博主,未经授权禁止转载。图片素材或源自互联网,版权归原作者所有。
内容授权请联系:xwx-jacky@foxmail.com
本内容网址:https://xuweixuan.com/blog/codes/101.html

CC BY-NC-SA 4.0协议

著作权许可协议

人类创作承诺

承诺非AI创作

 评论

安全提示

您将要访问:

我们无法验证此外链的网页内容是否合规,我们亦不对此网页进行任何内容负责,请注意甄别安全性!

 发表评论
称   谓:
网   址: