diff --git a/docs/task/146-商品目录Excel分批提交脚本.md b/docs/task/146-商品目录Excel分批提交脚本.md index b430b58..f22fca5 100644 --- a/docs/task/146-商品目录Excel分批提交脚本.md +++ b/docs/task/146-商品目录Excel分批提交脚本.md @@ -28,12 +28,23 @@ Excel 最大更新时间;相同文件和参数会产生完全相同的请求。Token 只读取环境变量, 临时错误指数退避,业务错误立即停止。实现与建单方案一致。 +用户随后明确把范围扩展到生产执行。部署前将生产 MySQL 备份到 +`/opt/cmautobuy/backups/autobuy-before-e4385ac-20260811T034853Z.sql.gz` 并通过 gzip +校验;按提交 `e4385ac` 构建 Linux amd64 二进制,SHA-256 为 +`287e5b9484f9e827cbed3325c8c3c31b4209bca487692f1db6fa89fcd4ff9bd7`,部署到 +`/opt/cmautobuy/releases/e4385ac/`。服务器随机生成 32 字节目录 Token,只写入权限 +`600` 的 `/etc/cmautobuy/admin.env`,未输出明文。服务启动后 schema v10 自检通过, +再通过 HTTPS 顺序提交全部 11 个批次。 + ## 改了哪些 - `tools/import_catalog_xlsx.py`:Excel 聚合、批次规划、dry-run、鉴权提交、重试和汇总。 - `tools/test_import_catalog_xlsx.py`:脱敏工作簿的聚合、幂等、分批、冲突和重试测试。 - `tools/requirements-catalog-import.txt`:固定 `openpyxl` 版本。 - `docs/admin/10-商品目录接入接口.md`:补充安装、预检、真实提交和断点重跑说明。 +- `/opt/cmautobuy/releases/e4385ac/`:新增生产发布目录并原子切换当前 Admin。 +- `/etc/cmautobuy/admin.env`:增加目录来源与专用 Token,权限保持 `600`。 +- 生产 MySQL `autobuy`:写入 11 个成功批次的商品目录数据和导入摘要。 ## 验收结果 @@ -47,6 +58,11 @@ Excel 最大更新时间;相同文件和参数会产生完全相同的请求 | Token 只读取环境变量且不输出 | 通过 | | dry-run、临时错误重试、业务错误停止和进度汇总可用 | 通过 | | Python 自动化测试和 Admin Go 1.23 回归通过 | 通过 | +| 部署前生产数据库备份存在且 gzip 可读 | 通过;备份 1183828 字节,权限 `600` | +| 生产运行提交 `e4385ac` 对应二进制且 schema v10 完整 | 通过 | +| 生产目录 Token 受限保存且鉴权行为正确 | 通过;错误 Token 返回 `401 UNAUTHORIZED` | +| 11 个真实批次全部完成且无失败或进行中记录 | 通过;11 succeeded、0 failed、0 processing | +| 真实数据计数与三个工作簿一致 | 通过;2075 商品处理、33049 SKU、2075 关联 | ## 测试 @@ -56,7 +72,9 @@ Excel 最大更新时间;相同文件和参数会产生完全相同的请求 - 结果:三个真实样本解析成功,分别生成 5、5、1 个批次;最大请求分别为 1022285、794046、350890 字节,未发送请求。 - 执行的命令:在 `admin/` 使用 `GOTOOLCHAIN=go1.23.0` 执行 `go build ./...`、`go test ./... -count=1`、`go vet ./...`。 - 结果:全部通过。 -- **没验证到的部分**:未使用真实 Token 调用生产写接口;未在生产数据库核对 11 个批次的落库计数和导入记录,须在备份后由负责人执行真实提交。 +- 执行的操作:生产备份、Linux amd64 构建与哈希核对、上传和原子切换、systemd/HTTPS/鉴权/schema 检查、11 批真实提交及 MySQL 汇总查询。 +- 结果:Admin、MySQL、Nginx 均 active;schema v10 只记录一次;11/11 批次成功。目录摘要为蝦皮商品新增 2057/更新 18、SKU 新增 33049、PDD 新增 1883/更新 114、关联新增 2075;失败计数为 0。 +- **没验证到的部分**:未使用网页登录账号逐行人工查看全部导入商品;接口响应、导入摘要和数据库总数已核对,未执行备份恢复演练。 ## 相关提交