-- v6 设备级采集模式:达梦数据库升级后验证 -- 本脚本只读。所有检查通过后才允许启动新版 syslog-serve JAR。 -- 1. 预期 1 行:VARCHAR2(16)、NULLABLE=N、DATA_DEFAULT 包含 BOTH。 SELECT COLUMN_NAME, DATA_TYPE, DATA_LENGTH, NULLABLE, DATA_DEFAULT FROM USER_TAB_COLUMNS WHERE TABLE_NAME = 'DEVICE_DEVICE' AND COLUMN_NAME = 'COLLECTION_MODE'; -- 2. 预期 1 行:CONSTRAINT_TYPE=C、STATUS=ENABLED。 SELECT CONSTRAINT_NAME, CONSTRAINT_TYPE, STATUS FROM USER_CONSTRAINTS WHERE TABLE_NAME = 'DEVICE_DEVICE' AND CONSTRAINT_NAME = 'CK_DEVICE_COLLECTION_MODE'; -- 3. 预期 INVALID_MODE_TOTAL=0。 SELECT COUNT(*) AS INVALID_MODE_TOTAL FROM DEVICE_DEVICE WHERE COLLECTION_MODE IS NULL OR COLLECTION_MODE NOT IN ('SYSLOG_ONLY', 'API_ONLY', 'BOTH'); -- 4. 首次升级且尚未调用管理 API 时,预期只有 BOTH,数量与预检 DEVICE_TOTAL 一致。 SELECT COLLECTION_MODE, COUNT(*) AS DEVICE_TOTAL FROM DEVICE_DEVICE GROUP BY COLLECTION_MODE ORDER BY COLLECTION_MODE; -- 验证脚本不创建测试设备,也不绑定任何现场 device_id。