| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 |
- -- 1.0.508.verify.sql
- -- 契约(CURRENT.md > F-11):禁 SET @var · 每条返回 1/0 · 一条一断言 · 末条为真 SELECT。
- -- 断言强度沿用 Phase 1 Final Review:UK 断言**精确列序**(CREATE TABLE IF NOT EXISTS 会静默 no-op,
- -- 只数列数会放过结构漂移);字符串等值一律 COLLATE utf8mb4_bin(biz_key_expr 大小写是致命维度)。
- SELECT (SELECT COUNT(*) FROM information_schema.TABLES
- WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME IN ('mdp_stg_s0_label_type','mdp_stg_s0_sop_file_type','mdp_stg_s0_quality_base_type','mdp_stg_s0_qms_dict')) = 4;
- SELECT (SELECT COUNT(*) FROM information_schema.TABLES
- WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME IN ('ref_label_type','ref_sop_file_type','ref_quality_base_type','ref_sampling_scheme','ref_inspection_item','ref_inspection_method','ref_inspection_frequency','ref_inspection_instrument')) = 8;
- 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_label_type'
- AND INDEX_NAME = 'uk_stg_s0_label_type' 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 = 'mdp_stg_s0_sop_file_type'
- AND INDEX_NAME = 'uk_stg_s0_sop_file_type' 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 = 'mdp_stg_s0_quality_base_type'
- AND INDEX_NAME = 'uk_stg_s0_quality_base_type' 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 = 'mdp_stg_s0_qms_dict'
- AND INDEX_NAME = 'uk_stg_s0_qms_dict' 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 = 'ref_label_type'
- AND INDEX_NAME = 'uk_ref_label_type' AND NON_UNIQUE = 0), '')
- = 'tenant_id,label_type_code';
- SELECT IFNULL((SELECT GROUP_CONCAT(COLUMN_NAME ORDER BY SEQ_IN_INDEX)
- FROM information_schema.STATISTICS
- WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'ref_sop_file_type'
- AND INDEX_NAME = 'uk_ref_sop_file_type' AND NON_UNIQUE = 0), '')
- = 'tenant_id,file_type_code';
- SELECT IFNULL((SELECT GROUP_CONCAT(COLUMN_NAME ORDER BY SEQ_IN_INDEX)
- FROM information_schema.STATISTICS
- WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'ref_quality_base_type'
- AND INDEX_NAME = 'uk_ref_quality_base_type' AND NON_UNIQUE = 0), '')
- = 'tenant_id,type_category,type_code';
- SELECT IFNULL((SELECT GROUP_CONCAT(COLUMN_NAME ORDER BY SEQ_IN_INDEX)
- FROM information_schema.STATISTICS
- WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'ref_sampling_scheme'
- AND INDEX_NAME = 'uk_ref_sampling_scheme' AND NON_UNIQUE = 0), '')
- = 'tenant_id,scheme_code';
- SELECT IFNULL((SELECT GROUP_CONCAT(COLUMN_NAME ORDER BY SEQ_IN_INDEX)
- FROM information_schema.STATISTICS
- WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'ref_inspection_item'
- AND INDEX_NAME = 'uk_ref_inspection_item' AND NON_UNIQUE = 0), '')
- = 'tenant_id,item_code';
- SELECT IFNULL((SELECT GROUP_CONCAT(COLUMN_NAME ORDER BY SEQ_IN_INDEX)
- FROM information_schema.STATISTICS
- WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'ref_inspection_method'
- AND INDEX_NAME = 'uk_ref_inspection_method' AND NON_UNIQUE = 0), '')
- = 'tenant_id,method_code';
- SELECT IFNULL((SELECT GROUP_CONCAT(COLUMN_NAME ORDER BY SEQ_IN_INDEX)
- FROM information_schema.STATISTICS
- WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'ref_inspection_frequency'
- AND INDEX_NAME = 'uk_ref_inspection_frequency' AND NON_UNIQUE = 0), '')
- = 'tenant_id,frequency_code';
- SELECT IFNULL((SELECT GROUP_CONCAT(COLUMN_NAME ORDER BY SEQ_IN_INDEX)
- FROM information_schema.STATISTICS
- WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'ref_inspection_instrument'
- AND INDEX_NAME = 'uk_ref_inspection_instrument' AND NON_UNIQUE = 0), '')
- = 'tenant_id,instrument_code';
- SELECT (SELECT COUNT(*) FROM information_schema.COLUMNS
- WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME IN ('ref_label_type','ref_sop_file_type','ref_quality_base_type','ref_sampling_scheme','ref_inspection_item','ref_inspection_method','ref_inspection_frequency','ref_inspection_instrument')
- AND COLUMN_NAME = 'tenant_id' AND IS_NULLABLE = 'NO') = 8;
- SELECT (SELECT COUNT(*) FROM information_schema.COLUMNS
- WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME IN ('mdp_stg_s0_label_type','mdp_stg_s0_sop_file_type','mdp_stg_s0_quality_base_type','mdp_stg_s0_qms_dict')
- AND COLUMN_NAME = 'tenant_id' AND IS_NULLABLE = 'NO') = 4;
- SELECT (SELECT COUNT(*) FROM information_schema.STATISTICS
- WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'ref_label_type'
- AND INDEX_NAME = 'uk_ref_label_type' AND COLUMN_NAME IN ('domain_code','company_id','factory_id')) = 0;
- SELECT (SELECT COUNT(*) FROM information_schema.STATISTICS
- WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'ref_sop_file_type'
- AND INDEX_NAME = 'uk_ref_sop_file_type' AND COLUMN_NAME IN ('domain_code','company_id','factory_id')) = 0;
- SELECT (SELECT COUNT(*) FROM information_schema.STATISTICS
- WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'ref_quality_base_type'
- AND INDEX_NAME = 'uk_ref_quality_base_type' AND COLUMN_NAME IN ('domain_code','company_id','factory_id')) = 0;
- SELECT (SELECT COUNT(*) FROM information_schema.STATISTICS
- WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'ref_sampling_scheme'
- AND INDEX_NAME = 'uk_ref_sampling_scheme' AND COLUMN_NAME IN ('domain_code','company_id','factory_id')) = 0;
- SELECT (SELECT COUNT(*) FROM information_schema.STATISTICS
- WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'ref_inspection_item'
- AND INDEX_NAME = 'uk_ref_inspection_item' AND COLUMN_NAME IN ('domain_code','company_id','factory_id')) = 0;
- SELECT (SELECT COUNT(*) FROM information_schema.STATISTICS
- WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'ref_inspection_method'
- AND INDEX_NAME = 'uk_ref_inspection_method' AND COLUMN_NAME IN ('domain_code','company_id','factory_id')) = 0;
- SELECT (SELECT COUNT(*) FROM information_schema.STATISTICS
- WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'ref_inspection_frequency'
- AND INDEX_NAME = 'uk_ref_inspection_frequency' AND COLUMN_NAME IN ('domain_code','company_id','factory_id')) = 0;
- SELECT (SELECT COUNT(*) FROM information_schema.STATISTICS
- WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'ref_inspection_instrument'
- AND INDEX_NAME = 'uk_ref_inspection_instrument' AND COLUMN_NAME IN ('domain_code','company_id','factory_id')) = 0;
- SELECT (SELECT COUNT(*) FROM information_schema.COLUMNS
- WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'ref_sop_file_type'
- AND COLUMN_NAME = 'source_updated_at') = 0;
- SELECT (SELECT COUNT(*) FROM information_schema.COLUMNS
- WHERE TABLE_SCHEMA = DATABASE()
- AND TABLE_NAME IN ('ref_sampling_scheme','ref_inspection_item','ref_inspection_method',
- 'ref_inspection_frequency','ref_inspection_instrument')
- AND COLUMN_NAME IN ('status_code','enable_code') AND DATA_TYPE = 'varchar') = 10;
- SELECT (SELECT COUNT(*) FROM information_schema.COLUMNS
- WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'ref_inspection_frequency'
- AND COLUMN_NAME = 'remark') = 1;
- SELECT (SELECT COUNT(*) FROM `mdp_entity`
- WHERE `entity_code` = 'S0_LABEL_TYPE'
- AND `biz_key_expr` COLLATE utf8mb4_bin = 'bar_type'
- AND `source_table_name` COLLATE utf8mb4_bin = 'BarCodeType'
- AND `target_table_name` COLLATE utf8mb4_bin = 'mdp_stg_s0_label_type'
- AND `status` = 1 AND `sync_mode` = 'FULL' AND `incr_column` IS NULL) = 1;
- SELECT (SELECT COUNT(*) FROM `mdp_entity`
- WHERE `entity_code` = 'S0_SOP_FILE_TYPE'
- AND `biz_key_expr` COLLATE utf8mb4_bin = 'image_type_id'
- AND `source_table_name` COLLATE utf8mb4_bin = 'ImageType'
- AND `target_table_name` COLLATE utf8mb4_bin = 'mdp_stg_s0_sop_file_type'
- AND `status` = 1 AND `sync_mode` = 'FULL' AND `incr_column` IS NULL) = 1;
- SELECT (SELECT COUNT(*) FROM `mdp_entity`
- WHERE `entity_code` = 'S0_QUALITY_BASE_TYPE'
- AND `biz_key_expr` COLLATE utf8mb4_bin = 'type_category,type_code'
- AND `source_table_name` COLLATE utf8mb4_bin = 'qms_quality_base_type'
- AND `target_table_name` COLLATE utf8mb4_bin = 'mdp_stg_s0_quality_base_type'
- AND `status` = 1 AND `sync_mode` = 'FULL' AND `incr_column` IS NULL) = 1;
- SELECT (SELECT COUNT(*) FROM `mdp_entity`
- WHERE `entity_code` = 'S0_SAMPLING_SCHEME'
- AND `biz_key_expr` COLLATE utf8mb4_bin = 'FNUMBER'
- AND `source_table_name` COLLATE utf8mb4_bin = 'qms_sampscheme'
- AND `target_table_name` COLLATE utf8mb4_bin = 'mdp_stg_s0_qms_dict'
- AND `status` = 1 AND `sync_mode` = 'FULL' AND `incr_column` IS NULL) = 1;
- SELECT (SELECT COUNT(*) FROM `mdp_entity`
- WHERE `entity_code` = 'S0_INSPECTION_ITEM'
- AND `biz_key_expr` COLLATE utf8mb4_bin = 'FNUMBER'
- AND `source_table_name` COLLATE utf8mb4_bin = 'qms_inspectionitems'
- AND `target_table_name` COLLATE utf8mb4_bin = 'mdp_stg_s0_qms_dict'
- AND `status` = 1 AND `sync_mode` = 'FULL' AND `incr_column` IS NULL) = 1;
- SELECT (SELECT COUNT(*) FROM `mdp_entity`
- WHERE `entity_code` = 'S0_INSPECTION_METHOD'
- AND `biz_key_expr` COLLATE utf8mb4_bin = 'FNUMBER'
- AND `source_table_name` COLLATE utf8mb4_bin = 'qms_inspection_method'
- AND `target_table_name` COLLATE utf8mb4_bin = 'mdp_stg_s0_qms_dict'
- AND `status` = 1 AND `sync_mode` = 'FULL' AND `incr_column` IS NULL) = 1;
- SELECT (SELECT COUNT(*) FROM `mdp_entity`
- WHERE `entity_code` = 'S0_INSPECTION_FREQUENCY'
- AND `biz_key_expr` COLLATE utf8mb4_bin = 'FNUMBER'
- AND `source_table_name` COLLATE utf8mb4_bin = 'qms_inspectionfreq'
- AND `target_table_name` COLLATE utf8mb4_bin = 'mdp_stg_s0_qms_dict'
- AND `status` = 1 AND `sync_mode` = 'FULL' AND `incr_column` IS NULL) = 1;
- SELECT (SELECT COUNT(*) FROM `mdp_entity`
- WHERE `entity_code` = 'S0_INSPECTION_INSTRUMENT'
- AND `biz_key_expr` COLLATE utf8mb4_bin = 'FNUMBER'
- AND `source_table_name` COLLATE utf8mb4_bin = 'qms_inspectioninstru'
- AND `target_table_name` COLLATE utf8mb4_bin = 'mdp_stg_s0_qms_dict'
- AND `status` = 1 AND `sync_mode` = 'FULL' AND `incr_column` IS NULL) = 1;
- SELECT (SELECT COUNT(*) FROM `mdp_entity` e JOIN `mdp_source` s ON s.`id` = e.`source_id`
- WHERE e.`entity_code` LIKE 'S0\_%' AND s.`source_code` <> 'AIDOPDEV_MYSQL') = 0;
|