-- 1.0.510.verify.sql -- 契约(CURRENT.md > F-11):禁 SET @var · 每条返回 1/0 · 一条一断言 · 末条为真 SELECT。 SELECT (SELECT COUNT(*) FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME IN ('mdp_stg_s0_item','dim_item')) = 2; SELECT IFNULL((SELECT GROUP_CONCAT(COLUMN_NAME ORDER BY SEQ_IN_INDEX) FROM information_schema.STATISTICS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'mdp_stg_s0_item' AND INDEX_NAME = 'uk_stg_s0_item' AND NON_UNIQUE = 0), '') = 'tenant_id,source_system,source_table,source_row_id'; SELECT IFNULL((SELECT GROUP_CONCAT(COLUMN_NAME ORDER BY SEQ_IN_INDEX) FROM information_schema.STATISTICS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'dim_item' AND INDEX_NAME = 'uk_dim_item' AND NON_UNIQUE = 0), '') = 'tenant_id,item_code'; SELECT (SELECT COUNT(*) FROM information_schema.STATISTICS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'dim_item' AND INDEX_NAME = 'uk_dim_item' AND COLUMN_NAME IN ('domain_code','company_id','factory_id','legacy_source_id')) = 0; SELECT (SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME IN ('mdp_stg_s0_item','dim_item') AND COLUMN_NAME = 'tenant_id' AND IS_NULLABLE = 'NO') = 2; SELECT (SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'dim_item' AND COLUMN_NAME = 'legacy_source_id' AND IS_NULLABLE = 'NO') = 1; SELECT (SELECT COUNT(*) FROM information_schema.STATISTICS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'dim_item' AND INDEX_NAME = 'idx_dim_item_legacy') = 2; SELECT (SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'dim_item' AND COLUMN_NAME IN ('net_weight','min_order_qty','max_order_qty','min_order_qty_sales', 'order_multiple','safety_stock','stock_turnover') AND NUMERIC_PRECISION = 18 AND NUMERIC_SCALE = 5) = 7; SELECT (SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'dim_item' AND COLUMN_NAME IN ('supp_warranty','dea_controlled','expire_alarm_day','item_status')) = 0; SELECT (SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'dim_item' AND COLUMN_NAME = 'expire_alarm_days') = 1; SELECT (SELECT COUNT(*) FROM `mdp_entity` WHERE `entity_code` = 'S0_ITEM' AND `biz_key_expr` COLLATE utf8mb4_bin = 'ItemNum' AND `source_table_name` COLLATE utf8mb4_bin = 'ItemMaster' AND `target_table_name` COLLATE utf8mb4_bin = 'mdp_stg_s0_item' AND `status` = 1 AND `sync_mode` = 'FULL' AND `incr_column` IS NULL AND `batch_size` = 50000) = 1; SELECT (SELECT COUNT(*) FROM `mdp_entity` WHERE `entity_code` LIKE 'S0\_%' AND `batch_size` <> 50000 AND `batch_size` <> 5000) = 0; SELECT (SELECT COUNT(*) FROM `mdp_entity` WHERE `entity_code` LIKE 'S0\_%' AND `batch_size` = 50000) = 1; SELECT (SELECT COUNT(*) FROM `mdp_entity` WHERE `source_table_name` = 'ItemMaster' AND `target_table_name` = 'mdp_stg_s0_item') = 1;