00c0a1fb7f
- 接入 NDRServer 告警和流量日志,支持凭据与任务管理 - 支持分页拉取、窗口拆分、调度优先级及 WAL 持久化后推进断点 - 增加迟到告警规则重放,优化多条泛化规则选择和事件时间处理 - 补充回归测试、数据库升级脚本及部署文档
36 lines
2.1 KiB
SQL
36 lines
2.1 KiB
SQL
-- =============================================================================
|
||
-- 脚本:01-device-api-pull-precheck.sql
|
||
-- 用途:安装设备 API 拉取基础表之前,检查现有表结构是否满足升级条件。
|
||
-- 性质:只读脚本,不会修改表结构和业务数据,可以重复执行。
|
||
-- 执行时机:执行 02-device-api-pull-upgrade.sql 之前。
|
||
--
|
||
-- 重点检查:
|
||
-- 1. device_collect_task.method 当前使用了哪些值,避免新增 API 类型与旧值冲突;
|
||
-- 2. device_collect_task.id 和 device_device.id 是否都有主键;
|
||
-- 3. 两个主键字段的数据类型是否分别为 INTEGER/INT 和 BIGINT;
|
||
-- 4. 四张 DEVICE_COLLECT_API_* 表是否已经存在。
|
||
--
|
||
-- 判断方法:
|
||
-- - 任一 SQL 报错时,不要执行 02,先确认当前用户和 Schema 是否正确;
|
||
-- - 第四组查询返回 0 行,表示四张 API 拉取表尚未创建;
|
||
-- - 第四组查询有返回,表示可能执行过升级,应先运行 03 验证,不要直接重跑 02。
|
||
-- =============================================================================
|
||
|
||
-- 第 1 组:查看采集任务 method 的现有取值及任务数量。
|
||
SELECT method, COUNT(*) AS task_count FROM device_collect_task GROUP BY method ORDER BY method;
|
||
|
||
-- 第 2 组:确认两张被引用的旧表都有主键,每张表应各返回一条统计记录。
|
||
SELECT table_name, COUNT(*) AS pk_count FROM user_constraints
|
||
WHERE LOWER(table_name) IN ('device_collect_task','device_device') AND constraint_type='P'
|
||
GROUP BY table_name ORDER BY table_name;
|
||
|
||
-- 第 3 组:核对外键关联字段的数据类型、长度和是否允许为空。
|
||
SELECT table_name,column_name,data_type,data_length,data_precision,data_scale,nullable
|
||
FROM user_tab_columns
|
||
WHERE LOWER(table_name) IN ('device_collect_task','device_device') AND LOWER(column_name)='id'
|
||
ORDER BY table_name;
|
||
|
||
-- 第 4 组:检查目标表是否已存在。首次升级时应返回 0 行。
|
||
SELECT table_name FROM user_tables WHERE LOWER(table_name) IN
|
||
('device_collect_api_credential','device_collect_api_config','device_collect_api_checkpoint','device_collect_api_run');
|