启动日志:
Error 1264 (22003): Out of range value for column 'sort' at row 1 INSERT INTO sys_menu (..., sort, ...) VALUES (..., 130, ...)
sys_menu.sort 在当前 MySQL 8.4 数据库中为有符号 TINYINT,范围 -128~127。#137 的 GoAuto 模块排序值为 100、110、120、130……200,前三个可写入,从 130 开始必然失败。
sys_menu.sort
TINYINT
#137 迁移包裹在事务中,本次失败已整体回滚:
1787885400000
SQLite 使用普通整数列,不会复现 MySQL TINYINT 越界,因此原测试通过。
sys_menu.sort TINYINT
真实执行会新增菜单、API 关系与采购员角色菜单绑定,属于数据库迁移和权限变更。实现与不连接真实数据库的测试可先完成;在本机执行迁移前必须再次获得用户明确授权。
sort
无新的长期文档影响:#137 已记录菜单与权限结构;本单只修复其排序值的数据库范围兼容性,跳过 Wiki 更新与同步。
实现、自动化验证、本机数据库迁移及 Admin 重启验证均已完成,待用户验收。
提交:fc87984 fix(menus): keep sort values in MySQL range (#141)。
fc87984 fix(menus): keep sort values in MySQL range (#141)
无新的长期文档影响,跳过 Wiki 更新与同步。下一步真实执行会写入菜单、API 关系和采购员角色菜单绑定,按门禁等待用户明确授权后再迁移并重启 Admin。
用户于 2026-08-29 明确授权 #140、#141 执行本机数据库迁移、权限写入并重启 Admin。
fc87984
同次启动迁移器还执行了此前待部署的 #133 版本 1787885500000;该事实已单独回写 #133,不在本工单宣称 #133 真机验收通过。
1787885500000
工单进入待验收。
用户于 2026-08-29 明确确认本工单通过验收。验收结论已记录,现关闭工单。没有新的长期事实变化,本次不重复同步 Wiki。
No dependencies set.
The note is not visible to the blocked user.
所属与来源
根因与当前事实
启动日志:
sys_menu.sort在当前 MySQL 8.4 数据库中为有符号TINYINT,范围 -128~127。#137 的 GoAuto 模块排序值为 100、110、120、130……200,前三个可写入,从 130 开始必然失败。#137 迁移包裹在事务中,本次失败已整体回滚:
1787885400000迁移版本;SQLite 使用普通整数列,不会复现 MySQL TINYINT 越界,因此原测试通过。
目标
sys_menu.sort TINYINT。非目标
sys_menu.sort数据类型。实施方案
数据库与安全门禁
真实执行会新增菜单、API 关系与采购员角色菜单绑定,属于数据库迁移和权限变更。实现与不连接真实数据库的测试可先完成;在本机执行迁移前必须再次获得用户明确授权。
验收标准
sort越界。1787885400000。文档影响
无新的长期文档影响:#137 已记录菜单与权限结构;本单只修复其排序值的数据库范围兼容性,跳过 Wiki 更新与同步。
状态
实现、自动化验证、本机数据库迁移及 Admin 重启验证均已完成,待用户验收。
实现已推送,等待数据库/权限写入授权
提交:
fc87984 fix(menus): keep sort values in MySQL range (#141)。1787885400000未记录且无 GoAuto 根菜单残留。无新的长期文档影响,跳过 Wiki 更新与同步。下一步真实执行会写入菜单、API 关系和采购员角色菜单绑定,按门禁等待用户明确授权后再迁移并重启 Admin。
本机迁移、权限写入与 Admin 重启验证完成,待验收
用户于 2026-08-29 明确授权 #140、#141 执行本机数据库迁移、权限写入并重启 Admin。
fc87984。1787885400000已成功执行并记录,不再出现sys_menu.sort越界。同次启动迁移器还执行了此前待部署的 #133 版本
1787885500000;该事实已单独回写 #133,不在本工单宣称 #133 真机验收通过。工单进入待验收。
用户于 2026-08-29 明确确认本工单通过验收。验收结论已记录,现关闭工单。没有新的长期事实变化,本次不重复同步 Wiki。