docs: 记录 #90 生产发布验证

This commit is contained in:
chengma
2026-08-10 14:12:42 +08:00
parent d470209a94
commit 701d512d2d
@@ -26,6 +26,9 @@
- MySQL 追加 v4 `spec_mapping_decisions` 表;映射保存与决策审计使用同一事务,记录规则版本、
建议项、最终选择和是否采纳。审计写入失败时映射一并回滚。
- 与原工单方案一致,没有增加自动保存、自动采购、统计页面或机器学习评分。
- 生产发布预检发现 `autobuy` 已于 2026-08-10 12:31:48(北京时间)记录 v4,审计表为空且
结构正确;因此发布时没有重复执行迁移,而是先停服备份,再将线上 Admin 从 `f0715ee`
原子切换到包含本任务的 `5a77bde`,使运行代码与数据库版本一致。
## 改了哪些
@@ -50,6 +53,7 @@
| 映射与决策审计同事务写入,审计失败时完整回滚 | 通过 |
| MySQL v3→v4、迁移重放和错误表结构自检 | 通过 |
| 管理员与采购员页面权限回归 | 通过 |
| 生产库 v4 唯一版本记录、审计表结构、约束、服务健康和关键数据计数 | 通过 |
## 测试
@@ -57,9 +61,15 @@
- `cd D:\chengma\cmautobuy\admin; $env:GOTOOLCHAIN='go1.23.0'; go vet ./...; gofmt -l .; go test ./... -count=1`
- 设置隔离 `_test` 库环境变量后执行 `go test ./repository -run 'TestMySQLMigrate_' -count=1 -v`
- 设置相同环境后执行规格建议、决策审计、过期上下文、事务回滚和主页面定向测试
- 结果:静态检查、格式检查、普通全量测试通过;真实 MySQL 8 隔离库的 v4 迁移、事务和页面回归通过。
- **没验证到的部分**:未在正式 `autobuy` 数据库执行 v4;未在真实浏览器中人工核对包含 48 个以上候选的弹窗滚动与选择体验。
- 生产发布时停止 `cmautobuy-admin`,执行单事务逻辑备份、压缩包完整性检查、二进制
SHA-256 校验、原子切换和自动失败回退脚本,再检查 systemd、监听地址、数据库结构、
关键表计数、近期日志及公网 HTTP 状态。
- 结果:静态检查、格式检查、普通全量测试通过;真实 MySQL 8 隔离库的 v4 迁移、事务和页面回归通过;
生产 `schema_migrations` 为 v4 且仅一条,`spec_mapping_decisions` 为 InnoDB、10 列并包含
`accepted` 约束;服务 active,近期无 warning/error,公网登录页返回 200。
- **没验证到的部分**:未在真实浏览器中人工核对包含 48 个以上候选的弹窗滚动、建议展示和选择体验。
## 相关提交
- `5a77bde` `feat: 增加规格匹配建议与决策审计 (#90)`
- `d470209` `docs: 归档任务 #90`