1.0.270.sql 2.5 KB

1234567891011121314151617181920212223242526272829303132
  1. -- 1.0.270:S5 生产领料 B-① 迁通用管线 + dopdemorq 双源入站实体登记(本库 status=1 / SQLSERVER status=0)
  2. --
  3. -- 背景:ProductionIssue 由 bespoke 直读 NbrMaster 迁入通用管线(源→mdp_stg_production_issue→transform→mdp_std_production_issue)。
  4. -- 登记两个 NbrMaster 入站实体(本库 + dopdemorq SQL Server),均落 mdp_stg_production_issue、biz_key=Domain,Nbr、FULL。
  5. -- 状态:WIP 占位(不占正式版本号、未注册 csproj Copy、不随 AutoVersionUpdate 自动执行);Phase 3 提交时 rename 为 1.0.<next>.sql 并注册 Copy。
  6. --
  7. -- 硬约束:
  8. -- 1) 本库实体 S5_PRODUCTION_ISSUE_MASTER status=1:RunFullAsync 迁 stg 管线后依赖它(否则现有 s5-production-issue-mdp/refresh 端点断)。
  9. -- 2) SQLSERVER 实体 status=0:就位不启用,合入后不改变现有运行行为;启用需带外注密码+受控切源。
  10. -- 3) 两实体均 sync_mode='FULL'(本批 FULL-only,规避增量边界;不启自动增量)。
  11. -- 4) source_table_name='NbrMaster'(两库同名);transform 按 Type='SM' AND IsActive 过滤(领料)。tenant_id 由入站上下文赋值,源无此列。
  12. -- 幂等:WHERE NOT EXISTS 守卫,可重复执行。
  13. -- 本库入站实体(AIDOPDEV_MYSQL, status=1)
  14. INSERT INTO mdp_entity
  15. (tenant_id, source_id, entity_code, entity_name, entity_type, source_table_name, target_table_name,
  16. sync_mode, batch_size, biz_key_expr, status, remark, create_time, update_time)
  17. SELECT 0, (SELECT id FROM mdp_source WHERE source_code='AIDOPDEV_MYSQL'),
  18. 'S5_PRODUCTION_ISSUE_MASTER', 'S5生产领料主入站(本库)', 'TABLE',
  19. 'NbrMaster', 'mdp_stg_production_issue',
  20. 'FULL', 5000, 'Domain,Nbr', 1, 'S5生产领料 B-① 本库入站', NOW(), NOW()
  21. WHERE NOT EXISTS (SELECT 1 FROM mdp_entity WHERE entity_code='S5_PRODUCTION_ISSUE_MASTER');
  22. -- dopdemorq SQL Server 入站实体(DOPDEMORQ_SQLSERVER, status=0 就位不启用)
  23. INSERT INTO mdp_entity
  24. (tenant_id, source_id, entity_code, entity_name, entity_type, source_table_name, target_table_name,
  25. sync_mode, batch_size, biz_key_expr, status, remark, create_time, update_time)
  26. SELECT 0, (SELECT id FROM mdp_source WHERE source_code='DOPDEMORQ_SQLSERVER'),
  27. 'S5_PRODUCTION_ISSUE_MASTER_SQLSERVER', 'S5生产领料主入站(SQLServer)', 'TABLE',
  28. 'NbrMaster', 'mdp_stg_production_issue',
  29. 'FULL', 5000, 'Domain,Nbr', 0, 'S5生产领料 B-① 双源 disabled', NOW(), NOW()
  30. WHERE NOT EXISTS (SELECT 1 FROM mdp_entity WHERE entity_code='S5_PRODUCTION_ISSUE_MASTER_SQLSERVER');