1.0.266.sql 1.9 KB

12345678910111213141516171819202122232425262728293031
  1. -- WIP-T8MDP:T8 6 张基表双模式入站启用(提交时 rename 为正式 1.0.<next>.sql 并注册 csproj Copy)
  2. -- 背景:1.0.178.sql 已登记 mdp_source=T8_V5_SQLSERVER 与 9 个 T8 实体(当时 target_table_name=NULL、sync_mode=NONE,"一期不贴源")。
  3. -- 本批把 S5_L1_001/003、S6_L1_001/002、S7_L1_001/002/003 这 7 个 KPI 用到的 6 张基表启用为 FULL 贴源,
  4. -- 指向 mdp_stg_t8_*(stg/std 建表由 T8BaseInboundMdpSyncService.EnsureTablesAsync 幂等创建)。
  5. -- 暂留 legacy 直连的 3 个实体(T8_KC_DD_LIST_CLLIST / T8_CJ_BG_HEAD_REP / T8_REP_ZONGZHANG_CUNHUO_V3)不动,仍 sync_mode=NONE。
  6. -- 幂等:可重复执行。
  7. -- 增量策略:FULL 全量。源表极小(12~39 行);MdpDbPullExecutor 的 LastCursor 为字符串字典序比较,
  8. -- 对 bigint Id 增量不安全,且这些表无可靠 lastmodify 列;FULL re-upsert 可带回字段/作废标志更新,且零改通用底座。
  9. -- source_biz_key:行级 Id(实测 count(*)==count(distinct Id) 唯一,含明细表 kc_tz_list/kc_dd_list/kc_zj_list)。
  10. UPDATE mdp_entity e
  11. JOIN mdp_source s ON s.id = e.source_id AND s.source_code = 'T8_V5_SQLSERVER'
  12. SET
  13. e.target_table_name = CASE e.entity_code
  14. WHEN 'T8_KC_TZ_HEAD' THEN 'mdp_stg_t8_kc_tz_head'
  15. WHEN 'T8_KC_TZ_LIST' THEN 'mdp_stg_t8_kc_tz_list'
  16. WHEN 'T8_KC_DD_HEAD' THEN 'mdp_stg_t8_kc_dd_head'
  17. WHEN 'T8_KC_DD_LIST' THEN 'mdp_stg_t8_kc_dd_list'
  18. WHEN 'T8_KC_ZJ_LIST' THEN 'mdp_stg_t8_kc_zj_list'
  19. WHEN 'T8_SYS_PELIST' THEN 'mdp_stg_t8_sys_pelist'
  20. END,
  21. e.sync_mode = 'FULL',
  22. e.incr_column = NULL,
  23. e.batch_size = 1000,
  24. e.biz_key_expr = 'Id',
  25. e.status = 1,
  26. e.remark = CONCAT(IFNULL(e.remark,''), ' | T8MDP: FULL 贴源启用,biz_key=Id 行级'),
  27. e.update_time = NOW()
  28. WHERE e.entity_code IN (
  29. 'T8_KC_TZ_HEAD','T8_KC_TZ_LIST','T8_KC_DD_HEAD','T8_KC_DD_LIST','T8_KC_ZJ_LIST','T8_SYS_PELIST'
  30. );