From 701d512d2d2b6f7793194adb2641fe9dda354ce2 Mon Sep 17 00:00:00 2001 From: chengma Date: Mon, 10 Aug 2026 14:12:42 +0800 Subject: [PATCH] =?UTF-8?q?docs:=20=E8=AE=B0=E5=BD=95=20#90=20=E7=94=9F?= =?UTF-8?q?=E4=BA=A7=E5=8F=91=E5=B8=83=E9=AA=8C=E8=AF=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/task/90-规格匹配建议与决策审计.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/docs/task/90-规格匹配建议与决策审计.md b/docs/task/90-规格匹配建议与决策审计.md index a628175..00e915b 100644 --- a/docs/task/90-规格匹配建议与决策审计.md +++ b/docs/task/90-规格匹配建议与决策审计.md @@ -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`