Files
MemRelay/projects/d5a7f581-c442-4554-87b9-ee723b8b0258/Checkpoint 2026-08-26 09-20-49 UTC [214a29a2b2].md
T

47 lines
2.9 KiB
Markdown

---
title: Checkpoint 2026-08-26 09:20:49 UTC [214a29a2b2]
type: checkpoint
permalink: main/projects/d5a7f581-c442-4554-87b9-ee723b8b0258/checkpoint-2026-08-26-09-20-49-utc-214a29a2b2
stable_id: 2a61dd7b-d069-45b0-9fc7-147b9259eedb
scope: project
project_id: d5a7f581-c442-4554-87b9-ee723b8b0258
memory_type: checkpoint
status: active
revision: 1
restored_from_commit: 6a6a895eafcca6052e81a14fca103a42635dd1c2
created_at: '2026-09-23T15:09:00.582511+00:00'
updated_at: '2026-09-23T15:09:00.582574+00:00'
tags:
- CapacityReport
- sector
- production
- deployment
- verified
---
# CapacityReport sector 推断与按 CGI 导入修复完成
## 完成内容
- 修复 CellData.sql 中 _sector_infer 与 sector_band_ref 的网络/PLMN 混合排序规则比较,显式统一为 utf8mb4_unicode_ci。
- celldata.sector CSV 仅在 cell_data+sector 上传路径按 CGI 业务键处理:不存在新增,存在覆盖;上传范围内历史重复全部删除后写入一行;CSV 内重复取最后一行;空 CGI 拒绝;其他表仍保持追加。
- 新建 sector 表使用 uq_sector_cgi 唯一索引。
- 增加普通单测和可选真实 MySQL 集成测试,覆盖输入去重、空键拒绝、历史重复清理、新增/更新统计、失败回滚、混合排序规则完整 SQL。
## 验证
- 本地 MySQL 8.0.44 共 6 项测试通过;compileall、git diff --check、前端构建、镜像启动健康检查通过。
- CapacityReport bd28f1b 与 Metrix e660bc7 已提交并推送 main,两个工作区干净且远端一致。
- 第二实例已部署 capacityrepost-web:bd28f1b,数据卷和镜像默认 CellData.sql 哈希一致;健康接口和首页正常,无近期错误、无活动任务。
- 旧 capacity-report-app、capacity-mysql、capacityrepost-mysql 的容器 ID 未变化;只重建了 capacityrepost-web。
## 生产数据修复
- 权威 sector CSV FCEB34EC... 含 67018 行、66984 个 CGI、34 条文件内重复;线上这 66984 个 CGI 全部存在且每个都能找到完全一致的上传值,确认是此前追加的数据源。
- 使用新逻辑重新导入:更新 66984,新增 0,清理历史重复 66829,文件内重复 34。
- sector 从 133973 行/67144 个 CGI 修复为 67144 行/67144 个 CGI,并将旧普通 CGI 索引改为 uq_sector_cgi 唯一索引。
- 单独执行新版 CellData.sql 成功,无 1267;补入 167 个待推断 CGI。最终 sector 为 67311 行/67311 个 CGI/0 重复,cellinfo 待推断为 0。460-00-122116-32 确认为江门恩平敬老院2、江门恩平敬老院、TDD、F频。
## 回滚与清理
- 保留 capacityrepost-web:rollback-before-bd28f1b、docker-compose.yml.backup-before-bd28f1b、/data/CellData.sql.backup-before-bd28f1b。
- 本地/服务器 TAR、临时 CSV、临时前端产物和本地测试容器均已清理。
## 下一步
- 无未完成项。后续 sector 上传可直接使用 UTF-8 或 GBK/GB18030 CSV;每个 CGI 最终只保留上传文件最后一行。