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