Discuz!交流社区

 找回密码
 立即注册
搜索
查看: 24|回复: 2

[已处理] X3.5数据库校验存在错误,修复后会导致

[复制链接]
发表于 2023-1-5 00:32:10 | 显示全部楼层 |阅读模式
BUG反馈
程序版本: X3.5
浏览器:  
BUG地址: 隐藏内容
BUG截图:
测试用户名: 隐藏内容
测试密码: 隐藏内容
发现了一个比较严重的BUG,可能造成升级3.5后能正常发帖,但不能正常回帖。
这个问题是,pre_forum_post表保存着帖子发帖和跟帖数据,其中position字段是自增字段,非常重要。但如果站长在后台站长-数据库-校验,会发现这个表结构报错,并提示修复。关键是这个报错本身是错的,本来是position的AUTO_INCREMENT是正确的,如果选择了错误修复,将导致网站程序不能正常工作,即:能发帖,不能回帖。

发表于 2023-1-5 00:41:44 | 显示全部楼层
为支持InnoDB相关的变更
对于InnoDB数据库引擎,还会做如下变更,参考 scheme-change-innodb.sql
  • 为支持InnoDB,在表pre_common_member_grouppm中增加了一个索引
  • 为支持InnoDB,在表pre_forum_post中,取消了position的auto_increment属性
在配置文件中,引入了一个新的相关配置项,这个配置项要正确设置。尤其对于升级用户,否则会导致发帖功能不正常。
  1. /*
  2. * 数据库引擎,根据自己的数据库引擎进行设置,3.5之后默认为innodb,之前为myisam
  3. * 对于从3.4升级到3.5,并且没有转换数据库引擎的用户,在此设置为myisam
  4. */
  5. $_config['db']['common']['engine'] = 'innodb';
复制代码
除非你网站有的discuz文件用的X3.4的,不然不应该有问题


 楼主| 发表于 2023-1-5 00:43:36 | 显示全部楼层
好的我在研究下,谢谢。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

返回顶部