-- ============================================================================= -- IT-0 验收校验脚本(表 13-10 验收③ / MS-0) -- 预期:business_table_count = 59;missing_pk = 0;missing_gyid = 0 -- 口径:apt_* 36 + gy_*/gygl_* 18 + duty_* 5 = 59(CR-02 表 3-25、公寓端/03 表 3-8) -- apt_ops_probe 为连通性探针表,显式排除,不计入 59 张。 -- ============================================================================= SELECT '=== 1. 业务表总数(应为 59)===' AS section; SELECT COUNT(*) AS business_table_count FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_TYPE = 'BASE TABLE' AND (TABLE_NAME LIKE 'apt\_%' OR TABLE_NAME LIKE 'gy\_%' OR TABLE_NAME LIKE 'gygl\_%' OR TABLE_NAME LIKE 'duty\_%') AND TABLE_NAME <> 'apt_ops_probe'; SELECT '=== 2. 分前缀分布(应为 apt 36 / gy 17 / gygl 1 / duty 5)===' AS section; SELECT CASE WHEN TABLE_NAME LIKE 'apt\_%' THEN 'apt' WHEN TABLE_NAME LIKE 'gygl\_%' THEN 'gygl' WHEN TABLE_NAME LIKE 'gy\_%' THEN 'gy' ELSE 'duty' END AS prefix, COUNT(*) AS cnt FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() AND (TABLE_NAME LIKE 'apt\_%' OR TABLE_NAME LIKE 'gy\_%' OR TABLE_NAME LIKE 'gygl\_%' OR TABLE_NAME LIKE 'duty\_%') AND TABLE_NAME <> 'apt_ops_probe' GROUP BY prefix ORDER BY prefix; SELECT '=== 3. 缺主键的业务表(应为 0 行)===' AS section; SELECT t.TABLE_NAME FROM information_schema.TABLES t WHERE t.TABLE_SCHEMA = DATABASE() AND (t.TABLE_NAME LIKE 'apt\_%' OR t.TABLE_NAME LIKE 'gy\_%' OR t.TABLE_NAME LIKE 'gygl\_%' OR t.TABLE_NAME LIKE 'duty\_%') AND t.TABLE_NAME <> 'apt_ops_probe' AND NOT EXISTS ( SELECT 1 FROM information_schema.TABLE_CONSTRAINTS c WHERE c.TABLE_SCHEMA = t.TABLE_SCHEMA AND c.TABLE_NAME = t.TABLE_NAME AND c.CONSTRAINT_TYPE = 'PRIMARY KEY' ); SELECT '=== 4. 缺 gyid 列的业务表(应为 0 行)===' AS section; SELECT t.TABLE_NAME FROM information_schema.TABLES t WHERE t.TABLE_SCHEMA = DATABASE() AND (t.TABLE_NAME LIKE 'apt\_%' OR t.TABLE_NAME LIKE 'gy\_%' OR t.TABLE_NAME LIKE 'gygl\_%' OR t.TABLE_NAME LIKE 'duty\_%') AND t.TABLE_NAME <> 'apt_ops_probe' AND NOT EXISTS ( SELECT 1 FROM information_schema.COLUMNS c WHERE c.TABLE_SCHEMA = t.TABLE_SCHEMA AND c.TABLE_NAME = t.TABLE_NAME AND c.COLUMN_NAME = 'gyid' ); SELECT '=== 5. 外键数量(应为 0:docs/10 表 5-6 明确不建外键)===' AS section; SELECT COUNT(*) AS foreign_key_count FROM information_schema.TABLE_CONSTRAINTS WHERE TABLE_SCHEMA = DATABASE() AND CONSTRAINT_TYPE = 'FOREIGN KEY'; SELECT '=== 6. 探针表与基线种子 ===' AS section; SELECT (SELECT COUNT(*) FROM apt_ops_probe) AS probe_rows, (SELECT COUNT(*) FROM apt_master_version WHERE source = 'LOCAL') AS local_baseline_rows, (SELECT COUNT(*) FROM apt_ops_selfcheck) AS selfcheck_item_rows;