1.0.272.sql 4.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. -- 1.0.272:S5 委外发料 B-① 迁通用管线 + dopdemorq 双源入站实体登记(本库 status=1 / SQLSERVER status=0)
  2. --
  3. -- 背景:OutsourceIssue 由 bespoke(stg 死支路 + std 直读 NbrMaster/NbrDetail)迁入通用管线
  4. -- (源→mdp_stg_outsource_issue_pull[头/明细共表,source_table 区分]→transform→mdp_std_outsource_issue(_detail))。
  5. -- canonical 执行器 stg 用 *_pull(沿用 mdp_stg_ipqc_pull 惯例);legacy mdp_stg_outsource_issue(_detail) 不动、迁后死支路。
  6. -- 登记 4 个入站实体(本库 master+detail、dopdemorq SQL Server master+detail),均落 mdp_stg_outsource_issue_pull、FULL。
  7. -- 状态:正式脚本(1.0.272,已注册 csproj Copy,随 AutoVersionUpdate 执行)。
  8. --
  9. -- 硬约束:
  10. -- 1) 本库实体 S5_OUTSOURCE_ISSUE_MASTER/_DETAIL status=1:RunFullAsync 迁 stg 管线后依赖它(否则 s5-outsource-issue-mdp/refresh 端点断)。
  11. -- 2) SQLSERVER 实体 status=0:就位不启用,合入后不改变现有运行行为;启用需带外注密码+受控切源。
  12. -- 3) 四实体均 sync_mode='FULL'(本批 FULL-only,规避增量边界;不启自动增量)。
  13. -- 4) source_table_name='NbrMaster'/'NbrDetail'(两库同名);transform 按 Type='CA' AND IsActive(判真) 过滤(委外)。
  14. -- tenant_id 由入站上下文赋值,本库源含该列(raw 保留),SQL Server 源无此列(回落上下文)。
  15. -- 幂等:WHERE NOT EXISTS 守卫,可重复执行。
  16. -- 本库入站实体(AIDOPDEV_MYSQL, status=1)
  17. INSERT INTO mdp_entity
  18. (tenant_id, source_id, entity_code, entity_name, entity_type, source_table_name, target_table_name,
  19. sync_mode, batch_size, biz_key_expr, status, remark, create_time, update_time)
  20. SELECT 0, (SELECT id FROM mdp_source WHERE source_code='AIDOPDEV_MYSQL'),
  21. 'S5_OUTSOURCE_ISSUE_MASTER', 'S5委外发料主入站(本库)', 'TABLE',
  22. 'NbrMaster', 'mdp_stg_outsource_issue_pull',
  23. 'FULL', 5000, 'Domain,Nbr', 1, 'S5委外发料 B-① 本库头入站', NOW(), NOW()
  24. WHERE NOT EXISTS (SELECT 1 FROM mdp_entity WHERE entity_code='S5_OUTSOURCE_ISSUE_MASTER');
  25. INSERT INTO mdp_entity
  26. (tenant_id, source_id, entity_code, entity_name, entity_type, source_table_name, target_table_name,
  27. sync_mode, batch_size, biz_key_expr, status, remark, create_time, update_time)
  28. SELECT 0, (SELECT id FROM mdp_source WHERE source_code='AIDOPDEV_MYSQL'),
  29. 'S5_OUTSOURCE_ISSUE_DETAIL', 'S5委外发料明细入站(本库)', 'TABLE',
  30. 'NbrDetail', 'mdp_stg_outsource_issue_pull',
  31. 'FULL', 5000, 'Domain,Nbr,Line', 1, 'S5委外发料 B-① 本库明细入站', NOW(), NOW()
  32. WHERE NOT EXISTS (SELECT 1 FROM mdp_entity WHERE entity_code='S5_OUTSOURCE_ISSUE_DETAIL');
  33. -- dopdemorq SQL Server 入站实体(DOPDEMORQ_SQLSERVER, status=0 就位不启用)
  34. INSERT INTO mdp_entity
  35. (tenant_id, source_id, entity_code, entity_name, entity_type, source_table_name, target_table_name,
  36. sync_mode, batch_size, biz_key_expr, status, remark, create_time, update_time)
  37. SELECT 0, (SELECT id FROM mdp_source WHERE source_code='DOPDEMORQ_SQLSERVER'),
  38. 'S5_OUTSOURCE_ISSUE_MASTER_SQLSERVER', 'S5委外发料主入站(SQLServer)', 'TABLE',
  39. 'NbrMaster', 'mdp_stg_outsource_issue_pull',
  40. 'FULL', 5000, 'Domain,Nbr', 0, 'S5委外发料 B-① 双源 disabled', NOW(), NOW()
  41. WHERE NOT EXISTS (SELECT 1 FROM mdp_entity WHERE entity_code='S5_OUTSOURCE_ISSUE_MASTER_SQLSERVER');
  42. INSERT INTO mdp_entity
  43. (tenant_id, source_id, entity_code, entity_name, entity_type, source_table_name, target_table_name,
  44. sync_mode, batch_size, biz_key_expr, status, remark, create_time, update_time)
  45. SELECT 0, (SELECT id FROM mdp_source WHERE source_code='DOPDEMORQ_SQLSERVER'),
  46. 'S5_OUTSOURCE_ISSUE_DETAIL_SQLSERVER', 'S5委外发料明细入站(SQLServer)', 'TABLE',
  47. 'NbrDetail', 'mdp_stg_outsource_issue_pull',
  48. 'FULL', 5000, 'Domain,Nbr,Line', 0, 'S5委外发料 B-① 双源 disabled', NOW(), NOW()
  49. WHERE NOT EXISTS (SELECT 1 FROM mdp_entity WHERE entity_code='S5_OUTSOURCE_ISSUE_DETAIL_SQLSERVER');