docs: 归档生产任务 #198
This commit is contained in:
@@ -0,0 +1,70 @@
|
||||
# 198 Admin:部署店铺准入版本并清理非允许店铺 SYB 数据
|
||||
|
||||
- 类型:部署 / 数据维护
|
||||
- 父级大工单:#14
|
||||
- 所属 MVP / 版本:#15 / 顺运宝同步店铺准入生产上线
|
||||
- 状态:已完成
|
||||
- 日期:2026-08-13
|
||||
- Gitea 工单:http://ilaer.eicp.net:8418/chengma/cmautobuy/issues/198
|
||||
|
||||
## 背景与目标
|
||||
|
||||
把包含 #196、#197 的最新 Admin 部署到生产,并按生产数据库中 12 个启用店铺,
|
||||
删除 `syb_orders` 中不属于允许店铺的历史数据。清理必须有可恢复备份,并保证同步
|
||||
记录和其他模块数据不被删除。
|
||||
|
||||
## 最终方案
|
||||
|
||||
- 从固定提交 `e8c5293` 建立 detached 隔离工作树,固定 Go 1.23.0 验证并构建
|
||||
Linux amd64 静态二进制;本地和远端 SHA-256 一致。
|
||||
- 发布前三次检查生产运行中顺运宝同步均为 0。
|
||||
- 使用生产业务账号做单事务逻辑备份,权限设为 600,并验证 gzip 和 SHA-256。
|
||||
- 上传独立 release `e8c5293`,复用稳定配置和 data 软链接,原子切换 systemd。
|
||||
- 因生产 schema 在发布前已是 v14,旧 release `a4556b4` 只支持 v13,另外构建并上传
|
||||
`8a8fff8` 作为兼容 v14 的回退版本。
|
||||
- 只读预览确认启用店铺 12 个、待保留 3388 行、待删除 4938 行,待删行没有
|
||||
`task_syb_sources` 引用。
|
||||
- 短暂停止 Admin 防止并发同步,重新核对预览仍为 4938 后,在事务中执行带
|
||||
“启用店铺非空”保护的反向匹配删除;删除后再启动服务。
|
||||
- 清理仅修改 `syb_orders`;`syb_sync_runs` 和 `task_syb_sources` 数量保持不变。
|
||||
|
||||
## 改了哪些
|
||||
|
||||
- `/opt/cmautobuy/releases/e8c5293/`:新增当前生产 release。
|
||||
- `/opt/cmautobuy/releases/8a8fff8/`:新增兼容 schema v14 的回退 release。
|
||||
- `/opt/cmautobuy/cmautobuy-admin`:切换至 `e8c5293` 二进制。
|
||||
- `/opt/cmautobuy/backups/autobuy-before-198-20260813T005557Z.sql.gz`:清理前完整备份。
|
||||
- 生产 `syb_orders`:删除 4938 行非允许店铺数据,保留 3388 行。
|
||||
- `docs/task/198-部署店铺准入并清理非允许SYB数据.md`:本执行归档。
|
||||
|
||||
## 验收结果
|
||||
|
||||
| 验收标准 | 结果 |
|
||||
|---|---|
|
||||
| 固定 Go 1.23.0 验证、Linux 构建及远端哈希一致 | 通过 |
|
||||
| 发布前无运行中同步,备份权限 600 且 gzip 可读 | 通过 |
|
||||
| 当前 release 为 `e8c5293`,schema v14,服务和健康检查正常 | 通过 |
|
||||
| 启用店铺非空并记录删除预览 | 通过:12 个,保留 3388,删除 4938 |
|
||||
| 只删除不匹配允许店铺的 `syb_orders` | 通过:实际删除 4938 |
|
||||
| 同步记录和其他模块数据未删除 | 通过:同步记录 8→8,任务来源 9→9 |
|
||||
| 清理后不合规 SYB 行为 0 | 通过 |
|
||||
| 未输出凭据、未触发外部业务操作 | 通过 |
|
||||
|
||||
## 测试
|
||||
|
||||
- 执行的命令:固定 Go 1.23.0 的 `go vet ./...`、`go test ./... -count=1`;
|
||||
Linux amd64 静态构建与 SHA-256;生产同步状态、备份、事务前后计数、反查、
|
||||
systemd、监听端口、日志、本机 HTTP 和公网 HTTPS 检查。
|
||||
- 结果:当前服务 active/enabled,监听 `127.0.0.1:18080`;本机根路径 303、登录页
|
||||
200,公网登录页 200;`invalid_syb_orders=0`。
|
||||
- **没验证到的部分**:未使用生产账号登录后人工查看店铺管理页和顺运宝列表;
|
||||
未执行备份恢复演练;未发起真实顺运宝同步、采集或采购任务。
|
||||
|
||||
## 遗留问题
|
||||
|
||||
数据清理可通过本次完整备份恢复,但恢复会覆盖备份时点之后的生产变更,需停机并按
|
||||
灾备流程执行。后续新增或启用店铺不会自动恢复本次已删除历史数据,需重新同步日期范围。
|
||||
|
||||
## 相关提交
|
||||
|
||||
- `e8c5293` 本次生产发布基线
|
||||
Reference in New Issue
Block a user