【问题所在】
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/101.html
CC BY-NC-SA 4.0
人类创作承诺
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。 承诺非 AI 创作,由人类作者独立完成。
- 著作权人:
- 徐伟轩
- 首次发表时间:
- 2025-12-01
- 首次发表平台:
- "徐伟轩博客"
- 转载须知:
- 商业用途需获得授权,个人转载请注明原文链接。
你好,我在你的网站上找不到RSS链接,试着发邮件被退信了。 想咨询一下你的RSS/feed地址是什么?我打算添加到我的聚合朋友圈中。