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