Files

6.2 KiB

评查点预检结果判读模板

适用范围:precheck_evaluation_points_tenant_cleanup.sql 执行结果判读
更新日期:2026-05-21
文档定位:把评查点预检 SQL 的输出结果直接翻译成“可执行 / 需人工确认 / 必须阻断”,避免预检跑完后不知道该怎么判断。


1. 使用方式

先执行:

再按本文逐项判读。

本文默认把每一类结果分成 3 个等级:

  1. 可直接执行
  2. 需人工确认后执行
  3. 必须阻断,先处理再执行

2. 表结构确认结果怎么判

预检项:

  1. evaluation_points 当前列清单

可直接执行

满足任一情况即可:

  1. 旧库尚未存在 tenant_code / tenant_name
  2. 或者已存在其中一列 / 两列,但类型与脚本兼容

需人工确认后执行

  1. 已存在 tenant_code / tenant_name,但长度与脚本不一致
  2. 已存在同名列,但注释、默认值、约束来源不明确

必须阻断

  1. 存在同名列但类型明显不兼容
  2. evaluation_point_groups_id / evaluation_point_groups_pid 缺失
  3. 目标库实际不是当前应用正在使用的 evaluation_points

3. area 值分布怎么判

预检项:

  1. area 值分布统计
  2. 共享域残留统计

可直接执行

  1. 分布值主要来自真实租户名
  2. 共享域值主要集中在:
    • 公共
    • default
    • 空值
    • 省级
    • 省局

需人工确认后执行

  1. 出现少量疑似历史缩写、空格变体、大小写混用
  2. 出现 1 到 3 个可判断含义但未录入 alias 的地区别名

处理建议:

  1. 先补 sys_tenant_aliases
  2. 再执行正式脚本

必须阻断

  1. 大量 area 值不是租户名也不是共享域兼容值
  2. 大量值含义不清,无法判断归属
  3. 同一业务范围内明显混入多套地区命名体系

4. 无法映射租户的残留怎么判

预检项:

  1. area 无法映射租户编码的残留清单

可直接执行

  1. 查询结果为空

需人工确认后执行

  1. 只有极少量残留
  2. 且这些残留能通过补 alias 或人工指定租户解决

处理建议:

  1. 先补齐 sys_tenant_aliases
  2. 或整理人工修正清单
  3. 再执行正式脚本

必须阻断

  1. 残留记录很多
  2. 残留涉及核心高频业务数据
  3. 无法明确这些记录应归属哪个租户

5. alias / tenant_name 冲突怎么判

预检项:

  1. tenant_name 映射冲突预检
  2. alias_value 映射冲突预检

可直接执行

  1. 两项结果都为空

需人工确认后执行

  1. 只有历史遗留冲突
  2. 且冲突值本轮不会参与 evaluation_points.area 的回填

必须阻断

满足任一项即阻断:

  1. 同一个 alias_value 对应多个 tenant_code
  2. 同一个 tenant_name 对应多个 tenant_code
  3. 冲突值恰好已经出现在 evaluation_points.area 分布中

原因:

  1. 这会导致同一条评查点记录回填到不同租户存在不确定性
  2. 正式脚本虽然按 id ASC 选第一条,但这只能算技术兜底,不能当业务正确性依据

6. code 唯一性结果怎么判

预检项:

  1. 全局重复编码清单
  2. 未来按租户内唯一时的跨租户重复清单

可直接执行

  1. 当前全局无重复编码
  2. 或者已有重复但已确认不在用、可后续清理

需人工确认后执行

  1. 当前全局无重复
  2. 但“未来若按租户内唯一”模拟结果显示跨租户会有重复

这类情况本轮通常仍可执行,因为:

  1. 当前后端仍按全局唯一校验 code
  2. 本轮并不修改编码唯一性策略

必须阻断

  1. 当前就已经存在全局重复编码
  2. 且业务接口仍依赖 code 作为稳定标识
  3. 无法确认是否会影响现有创建、更新、查询逻辑

7. 共享域结果怎么判

预检项:

  1. 公共 / default / 空值 / 省级 / 省局 残留统计

可直接执行

  1. 这些值主要就是历史共享域语义
  2. 数量可解释

需人工确认后执行

  1. 共享域值数量异常高
  2. 需要业务确认这些记录到底应保留共享,还是应回归具体租户

必须阻断

  1. 共享域值被业务长期当作“具体地区”使用
  2. 一旦统一回填到 PUBLIC / PROVINCIAL 会直接改变业务语义

8. 最终执行判定规则

可以直接执行正式脚本

必须同时满足:

  1. 无法映射租户残留为空,或仅有极少量且已明确处理方式
  2. tenant_name / alias 无冲突
  3. 当前全局 code 唯一性没有实质性风险
  4. 共享域语义可确认

可以带人工清单执行

满足下面这种情况可接受:

  1. 预检结果存在少量人工待处理项
  2. 但这些项已形成明确修复清单
  3. 且不会影响大部分数据正确回填

此时建议:

  1. 先补 alias 或人工修正小批量数据
  2. 再执行正式脚本
  3. 执行后再复跑预检和验收 SQL

必须先暂停

满足任一情况应暂停:

  1. 租户映射冲突未解
  2. 大量无法映射记录未解
  3. 当前全局重复编码风险未解
  4. 共享域值语义未达成一致

9. 推荐落地动作

预检结果出来后,建议按这个顺序处理:

  1. 先解决 alias / tenant_name 冲突
  2. 再补无法映射记录对应的 alias 或人工归属
  3. 再确认 code 唯一性是否只影响未来策略,不影响当前策略
  4. 最后执行正式补列与回填脚本

10. 本文和其他文档的关系

建议连着看:

  1. 评查点数据库执行说明与验证SQL.md
  2. 评查点模块收尾清单.md
  3. schema_evaluation_points_tenant_cleanup.sql
  4. precheck_evaluation_points_tenant_cleanup.sql