Files
wvp-platform/数据库/aiot/升级-mysql-aiot-方案B.sql
16337 fe308474ff feat(aiot): 新增方案B数据库升级脚本
- 新增 wvp_ai_config_snapshot 配置版本快照表
- 新增 wvp_ai_algo_template 算法参数模板表
- 新增 wvp_ai_alert AI告警表
- 新增 wvp_ai_edge_device 边缘设备状态表
- wvp_ai_roi_algo_bind 新增 template_id 和 param_override 字段

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 13:31:02 +08:00

78 lines
4.5 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

-- ============================================================
-- AIoT 方案B升级脚本 - Redis+MQTT混合对接
-- 新增表config_snapshot, alert, edge_device, algo_template
-- 修改表roi_algo_bind 新增 template_id, param_override
-- ============================================================
-- 1. 配置版本快照表
CREATE TABLE IF NOT EXISTS wvp_ai_config_snapshot (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
version INT NOT NULL COMMENT '自增版本号',
scope_type VARCHAR(20) NOT NULL COMMENT 'CAMERA|ROI|BIND',
scope_id VARCHAR(64) NOT NULL COMMENT 'camera_id/roi_id/bind_id',
camera_id VARCHAR(64) NOT NULL COMMENT '所属摄像头',
snapshot LONGTEXT NOT NULL COMMENT '完整JSON快照',
change_type VARCHAR(20) NOT NULL COMMENT 'CREATE|UPDATE|DELETE|ROLLBACK|PUSH',
change_desc VARCHAR(255) NULL COMMENT '变更描述',
created_by VARCHAR(64) NULL COMMENT '操作人',
created_at VARCHAR(50) NOT NULL COMMENT '创建时间',
INDEX idx_scope (scope_type, scope_id),
INDEX idx_camera (camera_id),
INDEX idx_version (scope_type, scope_id, version DESC)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='配置版本快照';
-- 2. AI告警表
CREATE TABLE IF NOT EXISTS wvp_ai_alert (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
alert_id VARCHAR(128) NOT NULL COMMENT '告警唯一ID',
camera_id VARCHAR(64) NOT NULL COMMENT '摄像头ID',
roi_id VARCHAR(64) NOT NULL COMMENT 'ROI区域ID',
bind_id VARCHAR(64) NULL COMMENT '绑定ID',
alert_type VARCHAR(50) NOT NULL COMMENT 'leave_post/intrusion/crowd_detection',
target_class VARCHAR(50) NULL COMMENT '目标类别',
confidence DOUBLE NULL COMMENT '置信度',
bbox VARCHAR(255) NULL COMMENT 'JSON: [x1,y1,x2,y2]',
message TEXT NULL COMMENT '告警消息',
image_path VARCHAR(255) NULL COMMENT '告警图片路径',
duration_minutes DOUBLE NULL COMMENT '持续时长(分钟)',
extra_data TEXT NULL COMMENT 'JSON扩展',
received_at VARCHAR(50) NOT NULL COMMENT '接收时间',
UNIQUE KEY uk_alert_id (alert_id),
INDEX idx_camera (camera_id),
INDEX idx_type (alert_type),
INDEX idx_time (received_at)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='AI告警记录';
-- 3. 边缘设备状态表
CREATE TABLE IF NOT EXISTS wvp_ai_edge_device (
id INT PRIMARY KEY AUTO_INCREMENT,
device_id VARCHAR(64) NOT NULL COMMENT '设备唯一ID',
status VARCHAR(20) DEFAULT 'offline' COMMENT 'online/offline',
last_heartbeat VARCHAR(50) NULL COMMENT '最后心跳时间',
uptime_seconds BIGINT NULL COMMENT '运行时长(秒)',
frames_processed BIGINT NULL COMMENT '已处理帧数',
alerts_generated BIGINT NULL COMMENT '已生成告警数',
stream_stats TEXT NULL COMMENT 'JSON流统计',
updated_at VARCHAR(50) NULL COMMENT '更新时间',
UNIQUE KEY uk_device_id (device_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='边缘设备状态';
-- 4. 算法参数模板表
CREATE TABLE IF NOT EXISTS wvp_ai_algo_template (
id INT PRIMARY KEY AUTO_INCREMENT,
template_id VARCHAR(64) NOT NULL COMMENT '模板唯一ID',
template_name VARCHAR(100) NOT NULL COMMENT '模板名称',
algo_code VARCHAR(50) NOT NULL COMMENT '关联算法代码',
params TEXT NOT NULL COMMENT 'JSON参数',
description VARCHAR(255) NULL COMMENT '描述',
create_time VARCHAR(50) NULL COMMENT '创建时间',
update_time VARCHAR(50) NULL COMMENT '更新时间',
UNIQUE KEY uk_template_id (template_id),
INDEX idx_algo (algo_code)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='算法参数模板';
-- 5. wvp_ai_roi_algo_bind 新增模板引用字段
ALTER TABLE wvp_ai_roi_algo_bind
ADD COLUMN template_id VARCHAR(64) DEFAULT NULL COMMENT '引用的模板ID',
ADD COLUMN param_override TEXT DEFAULT NULL COMMENT '覆盖模板的局部参数JSON';