1.0.582.sql 1.3 KB

1234567891011121314151617181920
  1. -- 1.0.582 —— 修正 1.0.576(F-4)的 conn_mode 回填规则。
  2. -- 背景:1.0.576 的回填条件是 `IFNULL(db_host,'')='' AND system_code IN (四个原生别名)`。
  3. -- 但 AIDOP 原生库那一行(source_code=AIDOPDEV_MYSQL / system_code=AIDOP_NATIVE)的
  4. -- db_host 早已被填成主库自己的地址,于是回填一行都没匹配上(1.0.576 在 aidopdev
  5. -- 执行于 2026-09-25 08:11,affected_rows=0),该行留在默认值 EXTERNAL。
  6. -- MdpSourceScopeFactory.OpenScope 对 EXTERNAL 会强校验 db_host/db_name/db_user 齐全
  7. -- 且明确禁止回退主库,而该行 db_user 为空 —— 结果挂在它下面的 83 个启用实体
  8. -- 从 09-25 起全部同步不了(S7 FQC 结果列表无新单、S4 重算作业 STAGING 阶段失败)。
  9. --
  10. -- 修法:原生库在任何环境下都是主库本身,conn_mode 恒为 SELF,与 db_host 填没填无关。
  11. -- 故这里去掉 db_host 条件重跑一次回填。
  12. -- 这四个编码仍然只允许出现在迁移脚本里,运行期代码不得按它们分支。
  13. --
  14. -- 幂等:命中 0 行即无副作用,可重复执行。
  15. UPDATE mdp_source
  16. SET conn_mode = 'SELF'
  17. WHERE conn_mode <> 'SELF'
  18. AND UPPER(IFNULL(NULLIF(system_code, ''), source_code)) IN
  19. ('AIDOP_NATIVE', 'AIDOPDEV_MYSQL', 'LOCAL_MYSQL', 'AIDOP_MYSQL');