1.0.538.sql 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. -- ============================================================================
  2. -- 1.0.538 · API_INBOUND WP-D/E:S0 五表来源列 + T8/员工入站实体(号段避让远端已占用的 1.0.530)
  3. --
  4. -- 幂等:扩列 information_schema + PREPARE 自包含;实体 INSERT ... WHERE NOT EXISTS。
  5. -- AutoVersionUpdate 按 ; 拆句、无事务。
  6. -- ============================================================================
  7. SET @exist := (SELECT COUNT(1) FROM information_schema.columns WHERE table_schema=DATABASE() AND table_name='ItemMaster' AND COLUMN_NAME='source_system');
  8. SET @sql := IF(@exist=0, "ALTER TABLE ItemMaster ADD COLUMN source_system VARCHAR(50) NULL COMMENT '入站来源'", 'SELECT 1');
  9. PREPARE s FROM @sql;
  10. EXECUTE s;
  11. DEALLOCATE PREPARE s;
  12. SET @exist := (SELECT COUNT(1) FROM information_schema.columns WHERE table_schema=DATABASE() AND table_name='ItemMaster' AND COLUMN_NAME='source_updated_at');
  13. SET @sql := IF(@exist=0, "ALTER TABLE ItemMaster ADD COLUMN source_updated_at DATETIME NULL COMMENT '入站源更新时间'", 'SELECT 1');
  14. PREPARE s FROM @sql;
  15. EXECUTE s;
  16. DEALLOCATE PREPARE s;
  17. SET @exist := (SELECT COUNT(1) FROM information_schema.columns WHERE table_schema=DATABASE() AND table_name='CustMaster' AND COLUMN_NAME='source_system');
  18. SET @sql := IF(@exist=0, "ALTER TABLE CustMaster ADD COLUMN source_system VARCHAR(50) NULL COMMENT '入站来源'", 'SELECT 1');
  19. PREPARE s FROM @sql;
  20. EXECUTE s;
  21. DEALLOCATE PREPARE s;
  22. SET @exist := (SELECT COUNT(1) FROM information_schema.columns WHERE table_schema=DATABASE() AND table_name='CustMaster' AND COLUMN_NAME='source_updated_at');
  23. SET @sql := IF(@exist=0, "ALTER TABLE CustMaster ADD COLUMN source_updated_at DATETIME NULL COMMENT '入站源更新时间'", 'SELECT 1');
  24. PREPARE s FROM @sql;
  25. EXECUTE s;
  26. DEALLOCATE PREPARE s;
  27. SET @exist := (SELECT COUNT(1) FROM information_schema.columns WHERE table_schema=DATABASE() AND table_name='SuppMaster' AND COLUMN_NAME='source_system');
  28. SET @sql := IF(@exist=0, "ALTER TABLE SuppMaster ADD COLUMN source_system VARCHAR(50) NULL COMMENT '入站来源'", 'SELECT 1');
  29. PREPARE s FROM @sql;
  30. EXECUTE s;
  31. DEALLOCATE PREPARE s;
  32. SET @exist := (SELECT COUNT(1) FROM information_schema.columns WHERE table_schema=DATABASE() AND table_name='SuppMaster' AND COLUMN_NAME='source_updated_at');
  33. SET @sql := IF(@exist=0, "ALTER TABLE SuppMaster ADD COLUMN source_updated_at DATETIME NULL COMMENT '入站源更新时间'", 'SELECT 1');
  34. PREPARE s FROM @sql;
  35. EXECUTE s;
  36. DEALLOCATE PREPARE s;
  37. SET @exist := (SELECT COUNT(1) FROM information_schema.columns WHERE table_schema=DATABASE() AND table_name='LocationMaster' AND COLUMN_NAME='source_system');
  38. SET @sql := IF(@exist=0, "ALTER TABLE LocationMaster ADD COLUMN source_system VARCHAR(50) NULL COMMENT '入站来源'", 'SELECT 1');
  39. PREPARE s FROM @sql;
  40. EXECUTE s;
  41. DEALLOCATE PREPARE s;
  42. SET @exist := (SELECT COUNT(1) FROM information_schema.columns WHERE table_schema=DATABASE() AND table_name='LocationMaster' AND COLUMN_NAME='source_updated_at');
  43. SET @sql := IF(@exist=0, "ALTER TABLE LocationMaster ADD COLUMN source_updated_at DATETIME NULL COMMENT '入站源更新时间'", 'SELECT 1');
  44. PREPARE s FROM @sql;
  45. EXECUTE s;
  46. DEALLOCATE PREPARE s;
  47. SET @exist := (SELECT COUNT(1) FROM information_schema.columns WHERE table_schema=DATABASE() AND table_name='EmployeeMaster' AND COLUMN_NAME='source_system');
  48. SET @sql := IF(@exist=0, "ALTER TABLE EmployeeMaster ADD COLUMN source_system VARCHAR(50) NULL COMMENT '入站来源'", 'SELECT 1');
  49. PREPARE s FROM @sql;
  50. EXECUTE s;
  51. DEALLOCATE PREPARE s;
  52. SET @exist := (SELECT COUNT(1) FROM information_schema.columns WHERE table_schema=DATABASE() AND table_name='EmployeeMaster' AND COLUMN_NAME='source_updated_at');
  53. SET @sql := IF(@exist=0, "ALTER TABLE EmployeeMaster ADD COLUMN source_updated_at DATETIME NULL COMMENT '入站源更新时间'", 'SELECT 1');
  54. PREPARE s FROM @sql;
  55. EXECUTE s;
  56. DEALLOCATE PREPARE s;
  57. INSERT INTO mdp_entity
  58. (tenant_id, source_id, entity_code, entity_name, entity_type, source_table_name, target_table_name,
  59. sync_mode, batch_size, biz_key_expr, status, inbound_enabled, inbound_max_rows, stale_guard_enabled,
  60. remark, create_time, update_time)
  61. SELECT 797403760988229, s.id, 'S5_INVENTORY_TXN', '库存流水(入站草案)', 'TABLE', 'S5_INVENTORY_TXN', 'mdp_stg_t8_kc_tz_list',
  62. 'FULL', 500, 'Id', 1, 1, 500, 1,
  63. 'v1-draft Q7方案A:拍平行落 tz_list,头字段冗余在 raw_data inbound_delete=unsupported', NOW(), NOW()
  64. FROM mdp_source s
  65. WHERE s.source_code='TEST_INBOUND_ERP'
  66. AND NOT EXISTS (SELECT 1 FROM mdp_entity x WHERE x.entity_code='S5_INVENTORY_TXN');
  67. INSERT INTO mdp_entity
  68. (tenant_id, source_id, entity_code, entity_name, entity_type, source_table_name, target_table_name,
  69. sync_mode, batch_size, biz_key_expr, status, inbound_enabled, inbound_max_rows, stale_guard_enabled,
  70. remark, create_time, update_time)
  71. SELECT 797403760988229, s.id, 'S5_INVENTORY_OPENING_BALANCE', '库存期初(入站草案)', 'TABLE', 'S5_INVENTORY_OPENING_BALANCE', 'mdp_stg_t8_kc_tz_list',
  72. 'FULL', 500, 'Id', 1, 1, 500, 1,
  73. 'v1-draft 与流水同分表、source_table 隔离 inbound_delete=unsupported', NOW(), NOW()
  74. FROM mdp_source s
  75. WHERE s.source_code='TEST_INBOUND_ERP'
  76. AND NOT EXISTS (SELECT 1 FROM mdp_entity x WHERE x.entity_code='S5_INVENTORY_OPENING_BALANCE');
  77. INSERT INTO mdp_entity
  78. (tenant_id, source_id, entity_code, entity_name, entity_type, source_table_name, target_table_name,
  79. sync_mode, batch_size, biz_key_expr, status, inbound_enabled, inbound_max_rows, stale_guard_enabled,
  80. remark, create_time, update_time)
  81. SELECT 797403760988229, s.id, 'S7_FINISHED_ONHAND', '成品结存(入站草案)', 'TABLE', 'S7_FINISHED_ONHAND', 'mdp_stg_t8_kc_zj_list',
  82. 'FULL', 500, 'Id', 1, 1, 500, 1,
  83. 'v1-draft 落 kc_zj_list inbound_delete=unsupported', NOW(), NOW()
  84. FROM mdp_source s
  85. WHERE s.source_code='TEST_INBOUND_ERP'
  86. AND NOT EXISTS (SELECT 1 FROM mdp_entity x WHERE x.entity_code='S7_FINISHED_ONHAND');
  87. INSERT INTO mdp_entity
  88. (tenant_id, source_id, entity_code, entity_name, entity_type, source_table_name, target_table_name,
  89. sync_mode, batch_size, biz_key_expr, status, inbound_enabled, inbound_max_rows, stale_guard_enabled,
  90. remark, create_time, update_time)
  91. SELECT 797403760988229, s.id, 'S7_FINISHED_OPENING_BALANCE', '成品期初(入站草案)', 'TABLE', 'S7_FINISHED_OPENING_BALANCE', 'mdp_stg_t8_kc_zj_list',
  92. 'FULL', 500, 'Id', 1, 1, 500, 1,
  93. 'v1-draft inbound_delete=unsupported', NOW(), NOW()
  94. FROM mdp_source s
  95. WHERE s.source_code='TEST_INBOUND_ERP'
  96. AND NOT EXISTS (SELECT 1 FROM mdp_entity x WHERE x.entity_code='S7_FINISHED_OPENING_BALANCE');
  97. INSERT INTO mdp_entity
  98. (tenant_id, source_id, entity_code, entity_name, entity_type, source_table_name, target_table_name,
  99. sync_mode, batch_size, biz_key_expr, status, inbound_enabled, inbound_max_rows, stale_guard_enabled,
  100. remark, create_time, update_time)
  101. SELECT 797403760988229, s.id, 'MDM_EMPLOYEE_HEADCOUNT', '雇员主数据(入站草案)', 'TABLE', 'EmployeeMaster', 'mdp_stg_employee',
  102. 'FULL', 500, 'Domain,Employee', 1, 1, 500, 1,
  103. 'v1-draft 落 mdp_stg_employee inbound_delete=unsupported', NOW(), NOW()
  104. FROM mdp_source s
  105. WHERE s.source_code='TEST_INBOUND_ERP'
  106. AND NOT EXISTS (SELECT 1 FROM mdp_entity x WHERE x.entity_code='MDM_EMPLOYEE_HEADCOUNT');
  107. INSERT INTO mdp_inbound_grant
  108. (tenant_id, access_key, entity_code, factory_id, source_code, rate_limit_per_min, batch_row_limit, status, remark, create_time, update_time)
  109. SELECT 797403760988229, 'TESTKPARTNER', 'S5_INVENTORY_TXN', NULL, 'TEST_INBOUND_ERP', 60, 500, 1, 'WP-E 联调', NOW(), NOW()
  110. WHERE NOT EXISTS (SELECT 1 FROM mdp_inbound_grant WHERE access_key='TESTKPARTNER' AND entity_code='S5_INVENTORY_TXN');
  111. INSERT INTO mdp_inbound_grant
  112. (tenant_id, access_key, entity_code, factory_id, source_code, rate_limit_per_min, batch_row_limit, status, remark, create_time, update_time)
  113. SELECT 797403760988229, 'TESTKPARTNER', 'S5_INVENTORY_OPENING_BALANCE', NULL, 'TEST_INBOUND_ERP', 60, 500, 1, 'WP-E 联调', NOW(), NOW()
  114. WHERE NOT EXISTS (SELECT 1 FROM mdp_inbound_grant WHERE access_key='TESTKPARTNER' AND entity_code='S5_INVENTORY_OPENING_BALANCE');
  115. INSERT INTO mdp_inbound_grant
  116. (tenant_id, access_key, entity_code, factory_id, source_code, rate_limit_per_min, batch_row_limit, status, remark, create_time, update_time)
  117. SELECT 797403760988229, 'TESTKPARTNER', 'S7_FINISHED_ONHAND', NULL, 'TEST_INBOUND_ERP', 60, 500, 1, 'WP-E 联调', NOW(), NOW()
  118. WHERE NOT EXISTS (SELECT 1 FROM mdp_inbound_grant WHERE access_key='TESTKPARTNER' AND entity_code='S7_FINISHED_ONHAND');
  119. INSERT INTO mdp_inbound_grant
  120. (tenant_id, access_key, entity_code, factory_id, source_code, rate_limit_per_min, batch_row_limit, status, remark, create_time, update_time)
  121. SELECT 797403760988229, 'TESTKPARTNER', 'S7_FINISHED_OPENING_BALANCE', NULL, 'TEST_INBOUND_ERP', 60, 500, 1, 'WP-E 联调', NOW(), NOW()
  122. WHERE NOT EXISTS (SELECT 1 FROM mdp_inbound_grant WHERE access_key='TESTKPARTNER' AND entity_code='S7_FINISHED_OPENING_BALANCE');
  123. INSERT INTO mdp_inbound_grant
  124. (tenant_id, access_key, entity_code, factory_id, source_code, rate_limit_per_min, batch_row_limit, status, remark, create_time, update_time)
  125. SELECT 797403760988229, 'TESTKPARTNER', 'MDM_EMPLOYEE_HEADCOUNT', NULL, 'TEST_INBOUND_ERP', 60, 500, 1, 'WP-E 联调', NOW(), NOW()
  126. WHERE NOT EXISTS (SELECT 1 FROM mdp_inbound_grant WHERE access_key='TESTKPARTNER' AND entity_code='MDM_EMPLOYEE_HEADCOUNT');