1.0.268.sql 5.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. -- 1.0.268:S5/S6/S7 列表双源(dopdemorq SQL Server)源/实体登记(默认 disabled)
  2. --
  3. -- 用途:注册第二源 DOPDEMORQ_SQLSERVER + S5 采购收货 / S5 生产收货 / S6 IPQC Head 的 _SQLSERVER 入站实体。
  4. -- 说明:全部 source/entity status=0 就位不启用,合入后不改变现有 MYSQL/API 运行行为;经 P0/Phase1/Phase2 验证。
  5. --
  6. -- 硬约束落地:
  7. -- 1) 全部 source / entity status=0(就位不启用):合入后不改变现有 MYSQL/API 运行行为。
  8. -- 2) SQLSERVER 实体一律 sync_mode='FULL':Phase 1 只走 PullAll + fullRefresh=true bootstrap,
  9. -- 规避 MdpDbPullExecutor 严格 `UpdateTime > @cursor` 的跨批同值静默丢行风险(P0 已确认,不改核心)。
  10. -- 3) 密码不入 git:db_password_enc 留 NULL;正式启用前由运维用 CryptogramUtil.Encrypt 密文经带外 UPDATE 注入;
  11. -- dopsa 为 db_owner(非只读),正式启用前须替换为 SELECT-only 账号(Phase 2 门禁)。
  12. -- 4) source_table_name 与本库版一致(dopdemorq 表名字段名与本库一致;tenant_id 由 DOP 入站上下文赋值,源无此列)。
  13. -- 幂等:WHERE NOT EXISTS 守卫,可重复执行。
  14. -- ========== (1) 第二源:dopdemorq SQL Server(disabled)==========
  15. INSERT INTO mdp_source
  16. (tenant_id, source_code, source_name, source_type, status,
  17. db_type, db_host, db_port, db_name, db_user, db_password_enc, remark, create_time, update_time)
  18. SELECT 0, 'DOPDEMORQ_SQLSERVER', 'dopdemorq 源库(SQL Server) S5-S7列表第二源', 'DB', 0,
  19. 'SQLSERVER', '123.60.180.165', 1433, 'dopdemorq', 'dopsa', NULL,
  20. 'Phase1双源:默认disabled;密码带外注入;正式启用前替换SELECT-only账号', NOW(), NOW()
  21. WHERE NOT EXISTS (SELECT 1 FROM mdp_source WHERE source_code='DOPDEMORQ_SQLSERVER');
  22. -- ========== (2) S5 采购收货 SQLSERVER 入站实体(disabled, FULL)==========
  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_PURCHASE_RECEIPT_MASTER_SQLSERVER', 'S5采购收货主入站(SQLServer)', 'TABLE',
  28. 'PurOrdRctMaster', 'mdp_stg_purchase_receipt',
  29. 'FULL', 5000, 'Domain,Receiver', 0, 'Phase1双源 disabled', NOW(), NOW()
  30. WHERE NOT EXISTS (SELECT 1 FROM mdp_entity WHERE entity_code='S5_PURCHASE_RECEIPT_MASTER_SQLSERVER');
  31. INSERT INTO mdp_entity
  32. (tenant_id, source_id, entity_code, entity_name, entity_type, source_table_name, target_table_name,
  33. sync_mode, batch_size, biz_key_expr, status, remark, create_time, update_time)
  34. SELECT 0, (SELECT id FROM mdp_source WHERE source_code='DOPDEMORQ_SQLSERVER'),
  35. 'S5_PURCHASE_RECEIPT_DETAIL_SQLSERVER', 'S5采购收货明细入站(SQLServer)', 'TABLE',
  36. 'PurOrdRctDetail', 'mdp_stg_purchase_receipt',
  37. 'FULL', 5000, 'Domain,Receiver,Line', 0, 'Phase1双源 disabled(FULL 规避增量边界)', NOW(), NOW()
  38. WHERE NOT EXISTS (SELECT 1 FROM mdp_entity WHERE entity_code='S5_PURCHASE_RECEIPT_DETAIL_SQLSERVER');
  39. -- ========== (3) S5 生产收货 SQLSERVER 入站实体(沿用 S7_NBR_* 命名,disabled, FULL)==========
  40. INSERT INTO mdp_entity
  41. (tenant_id, source_id, entity_code, entity_name, entity_type, source_table_name, target_table_name,
  42. sync_mode, batch_size, biz_key_expr, status, remark, create_time, update_time)
  43. SELECT 0, (SELECT id FROM mdp_source WHERE source_code='DOPDEMORQ_SQLSERVER'),
  44. 'S7_NBR_MASTER_SQLSERVER', 'S5生产入库主入站(SQLServer)', 'TABLE',
  45. 'NbrMaster', 'mdp_stg_production_receipt',
  46. 'FULL', 5000, 'Domain,Nbr', 0, 'Phase1双源 disabled(FULL 规避增量边界)', NOW(), NOW()
  47. WHERE NOT EXISTS (SELECT 1 FROM mdp_entity WHERE entity_code='S7_NBR_MASTER_SQLSERVER');
  48. INSERT INTO mdp_entity
  49. (tenant_id, source_id, entity_code, entity_name, entity_type, source_table_name, target_table_name,
  50. sync_mode, batch_size, biz_key_expr, status, remark, create_time, update_time)
  51. SELECT 0, (SELECT id FROM mdp_source WHERE source_code='DOPDEMORQ_SQLSERVER'),
  52. 'S7_NBR_DETAIL_SQLSERVER', 'S5生产入库明细入站(SQLServer)', 'TABLE',
  53. 'NbrDetail', 'mdp_stg_production_receipt',
  54. 'FULL', 5000, 'Domain,Nbr,Line', 0, 'Phase1双源 disabled', NOW(), NOW()
  55. WHERE NOT EXISTS (SELECT 1 FROM mdp_entity WHERE entity_code='S7_NBR_DETAIL_SQLSERVER');
  56. -- ========== (4) S6 IPQC Head SQLSERVER 入站实体(disabled, FULL;qms_gcjyd 无 UpdateTime)==========
  57. -- 注:仅 Head。IPQC Detail(qms_gcjydzb) 属 bespoke,Phase 2 处理,本文件不登记其实体。
  58. INSERT INTO mdp_entity
  59. (tenant_id, source_id, entity_code, entity_name, entity_type, source_table_name, target_table_name,
  60. sync_mode, batch_size, biz_key_expr, status, remark, create_time, update_time)
  61. SELECT 0, (SELECT id FROM mdp_source WHERE source_code='DOPDEMORQ_SQLSERVER'),
  62. 'S6_IPQC_INSPECTION_HEAD_SQLSERVER', 'S6过程检验头入站(SQLServer)', 'TABLE',
  63. 'qms_gcjyd', 'mdp_stg_ipqc_pull',
  64. 'FULL', 1000, 'djbh', 0, 'Phase1双源 disabled(仅Head)', NOW(), NOW()
  65. WHERE NOT EXISTS (SELECT 1 FROM mdp_entity WHERE entity_code='S6_IPQC_INSPECTION_HEAD_SQLSERVER');