6.2 KiB
6.2 KiB
评查点预检结果判读模板
适用范围:
precheck_evaluation_points_tenant_cleanup.sql执行结果判读
更新日期:2026-05-21
文档定位:把评查点预检 SQL 的输出结果直接翻译成“可执行 / 需人工确认 / 必须阻断”,避免预检跑完后不知道该怎么判断。
1. 使用方式
先执行:
再按本文逐项判读。
本文默认把每一类结果分成 3 个等级:
可直接执行需人工确认后执行必须阻断,先处理再执行
2. 表结构确认结果怎么判
预检项:
evaluation_points当前列清单
可直接执行
满足任一情况即可:
- 旧库尚未存在
tenant_code / tenant_name - 或者已存在其中一列 / 两列,但类型与脚本兼容
需人工确认后执行
- 已存在
tenant_code / tenant_name,但长度与脚本不一致 - 已存在同名列,但注释、默认值、约束来源不明确
必须阻断
- 存在同名列但类型明显不兼容
evaluation_point_groups_id / evaluation_point_groups_pid缺失- 目标库实际不是当前应用正在使用的
evaluation_points表
3. area 值分布怎么判
预检项:
area值分布统计- 共享域残留统计
可直接执行
- 分布值主要来自真实租户名
- 共享域值主要集中在:
公共default- 空值
省级省局
需人工确认后执行
- 出现少量疑似历史缩写、空格变体、大小写混用
- 出现 1 到 3 个可判断含义但未录入 alias 的地区别名
处理建议:
- 先补
sys_tenant_aliases - 再执行正式脚本
必须阻断
- 大量
area值不是租户名也不是共享域兼容值 - 大量值含义不清,无法判断归属
- 同一业务范围内明显混入多套地区命名体系
4. 无法映射租户的残留怎么判
预检项:
area无法映射租户编码的残留清单
可直接执行
- 查询结果为空
需人工确认后执行
- 只有极少量残留
- 且这些残留能通过补 alias 或人工指定租户解决
处理建议:
- 先补齐
sys_tenant_aliases - 或整理人工修正清单
- 再执行正式脚本
必须阻断
- 残留记录很多
- 残留涉及核心高频业务数据
- 无法明确这些记录应归属哪个租户
5. alias / tenant_name 冲突怎么判
预检项:
tenant_name映射冲突预检alias_value映射冲突预检
可直接执行
- 两项结果都为空
需人工确认后执行
- 只有历史遗留冲突
- 且冲突值本轮不会参与
evaluation_points.area的回填
必须阻断
满足任一项即阻断:
- 同一个
alias_value对应多个tenant_code - 同一个
tenant_name对应多个tenant_code - 冲突值恰好已经出现在
evaluation_points.area分布中
原因:
- 这会导致同一条评查点记录回填到不同租户存在不确定性
- 正式脚本虽然按
id ASC选第一条,但这只能算技术兜底,不能当业务正确性依据
6. code 唯一性结果怎么判
预检项:
- 全局重复编码清单
- 未来按租户内唯一时的跨租户重复清单
可直接执行
- 当前全局无重复编码
- 或者已有重复但已确认不在用、可后续清理
需人工确认后执行
- 当前全局无重复
- 但“未来若按租户内唯一”模拟结果显示跨租户会有重复
这类情况本轮通常仍可执行,因为:
- 当前后端仍按全局唯一校验
code - 本轮并不修改编码唯一性策略
必须阻断
- 当前就已经存在全局重复编码
- 且业务接口仍依赖
code作为稳定标识 - 无法确认是否会影响现有创建、更新、查询逻辑
7. 共享域结果怎么判
预检项:
公共 / default / 空值 / 省级 / 省局残留统计
可直接执行
- 这些值主要就是历史共享域语义
- 数量可解释
需人工确认后执行
- 共享域值数量异常高
- 需要业务确认这些记录到底应保留共享,还是应回归具体租户
必须阻断
- 共享域值被业务长期当作“具体地区”使用
- 一旦统一回填到
PUBLIC / PROVINCIAL会直接改变业务语义
8. 最终执行判定规则
可以直接执行正式脚本
必须同时满足:
- 无法映射租户残留为空,或仅有极少量且已明确处理方式
tenant_name / alias无冲突- 当前全局
code唯一性没有实质性风险 - 共享域语义可确认
可以带人工清单执行
满足下面这种情况可接受:
- 预检结果存在少量人工待处理项
- 但这些项已形成明确修复清单
- 且不会影响大部分数据正确回填
此时建议:
- 先补 alias 或人工修正小批量数据
- 再执行正式脚本
- 执行后再复跑预检和验收 SQL
必须先暂停
满足任一情况应暂停:
- 租户映射冲突未解
- 大量无法映射记录未解
- 当前全局重复编码风险未解
- 共享域值语义未达成一致
9. 推荐落地动作
预检结果出来后,建议按这个顺序处理:
- 先解决 alias / tenant_name 冲突
- 再补无法映射记录对应的 alias 或人工归属
- 再确认
code唯一性是否只影响未来策略,不影响当前策略 - 最后执行正式补列与回填脚本
10. 本文和其他文档的关系
建议连着看: