1 parent
329e27b515
commit
8ffeb59dd4
33 files changed
+3427
-111
No files matched your search
@@ -0,0 +1,64 @@
|
||||
-- =============================================================================
|
||||
-- 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;
|
||||
Reference in new issue
Block a user