描述此 Pull Request 的变更

修复 后台数据库校验工具不支持MySQL 8的问题

描述变更理由

印象里好像以前谁提过这个问题来着,记不住了。@建筑资源吧 是你么
昨天下了个MySQL 8的zip试了一下,果然数据库校验那个位置有点问题,全是错的
(话说没有默认配置文件的MySQL 8运行速度也太慢了,安装就慢,开个Discuz首页2秒多……)

核对了现象以及MySQL的文档发现,是MySQL方面自8.0.17开始不再支持int类数据类型的显示宽度(display width)行为了。
比如int(10)就会变成int,括号及里面的数没了。
实测唯一的例外是tinyint(1),可能跟tinyint(1)与bool的alias关系有关。

因此对int相关的数据类型加入额外的判断和处理,遇到这种情况时移除带数值的括号再进行比较。

对不向前兼容或涉及安全性变更的特殊说明

关联 Issue