Files
wvp-platform/数据库/aiot/初始化-mysql-aiot.sql

78 lines
4.9 KiB
MySQL
Raw Normal View History

-- ============================================================
-- AIoT 智能视频管理平台 - MySQL 初始化脚本
-- 字段名与 FastAPI 端保持一致snake_case
-- ============================================================
-- 1. ROI 区域配置(对应 FastAPI 端 roi_configs
CREATE TABLE IF NOT EXISTS wvp_ai_roi (
id INT AUTO_INCREMENT PRIMARY KEY,
roi_id VARCHAR(50) NOT NULL COMMENT 'UUID与FastAPI端同步用',
camera_id VARCHAR(50) NOT NULL COMMENT '通道国标编号',
channel_db_id INT NULL COMMENT 'WVP通道表ID',
device_id VARCHAR(50) NULL COMMENT '设备国标编号',
name VARCHAR(100) NULL COMMENT 'ROI名称',
roi_type VARCHAR(20) NOT NULL DEFAULT 'rectangle' COMMENT '形状rectangle/polygon',
coordinates TEXT NOT NULL COMMENT 'JSON归一化坐标',
color VARCHAR(20) NULL DEFAULT '#FF0000' COMMENT '显示颜色',
priority INT NOT NULL DEFAULT 0 COMMENT '优先级',
enabled TINYINT(1) NOT NULL DEFAULT 1 COMMENT '启用状态',
extra_params TEXT NULL COMMENT '扩展参数JSON',
description VARCHAR(500) NULL COMMENT '描述',
create_time VARCHAR(50) NULL COMMENT '创建时间',
update_time VARCHAR(50) NULL COMMENT '更新时间',
UNIQUE KEY uk_roi_id (roi_id),
INDEX idx_camera_id (camera_id),
INDEX idx_device_id (device_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='ROI区域配置';
-- 2. 算法注册表(对应 FastAPI 端 algorithm_registry
CREATE TABLE IF NOT EXISTS wvp_ai_algorithm (
id INT AUTO_INCREMENT PRIMARY KEY,
algo_code VARCHAR(100) NOT NULL COMMENT '算法编码',
algo_name VARCHAR(200) NULL COMMENT '算法名称',
target_class VARCHAR(50) NULL COMMENT '目标类别',
param_schema TEXT NULL COMMENT '参数模板JSON',
description VARCHAR(500) NULL COMMENT '描述',
is_active TINYINT(1) NOT NULL DEFAULT 1 COMMENT '是否可用',
sync_time VARCHAR(50) NULL COMMENT '最后同步时间',
create_time VARCHAR(50) NULL COMMENT '创建时间',
update_time VARCHAR(50) NULL COMMENT '更新时间',
UNIQUE KEY uk_algo_code (algo_code)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='算法注册表';
-- 3. ROI 算法绑定(对应 FastAPI 端 roi_algo_bind
CREATE TABLE IF NOT EXISTS wvp_ai_roi_algo_bind (
id INT AUTO_INCREMENT PRIMARY KEY,
bind_id VARCHAR(50) NOT NULL COMMENT 'UUID同步用',
roi_id VARCHAR(50) NOT NULL COMMENT 'ROI的UUID',
algo_code VARCHAR(100) NOT NULL COMMENT '算法编码',
params TEXT NULL COMMENT '自定义参数JSON',
priority INT NOT NULL DEFAULT 0 COMMENT '优先级',
enabled TINYINT(1) NOT NULL DEFAULT 1 COMMENT '启用状态',
create_time VARCHAR(50) NULL COMMENT '创建时间',
update_time VARCHAR(50) NULL COMMENT '更新时间',
UNIQUE KEY uk_bind_id (bind_id),
INDEX idx_roi_id (roi_id),
INDEX idx_algo_code (algo_code)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='ROI算法绑定';
-- 4. 配置变更日志(对应 FastAPI 端 config_update_log
CREATE TABLE IF NOT EXISTS wvp_ai_config_log (
id BIGINT AUTO_INCREMENT PRIMARY KEY,
config_type VARCHAR(30) NOT NULL COMMENT '类型ROI/ALGORITHM/BIND',
config_id VARCHAR(50) NOT NULL COMMENT '目标ID',
old_value TEXT NULL COMMENT '变更前JSON',
new_value TEXT NULL COMMENT '变更后JSON',
updated_by VARCHAR(100) NULL COMMENT '操作人',
updated_at VARCHAR(50) NULL COMMENT '操作时间',
INDEX idx_config_type (config_type),
INDEX idx_config_id (config_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='配置变更日志';
-- ============================================================
-- 初始数据预置算法2个与边缘端保持一致
-- ============================================================
INSERT INTO wvp_ai_algorithm (algo_code, algo_name, target_class, param_schema, description, is_active, create_time, update_time) VALUES
('leave_post', '离岗检测', 'person', '{"confirm_on_duty_sec":{"type":"int","default":10,"min":1},"confirm_leave_sec":{"type":"int","default":30,"min":1},"leave_countdown_sec":{"type":"int","default":300,"min":0},"cooldown_sec":{"type":"int","default":600,"min":0},"working_hours":{"type":"list","default":[]}}', '检测人员是否在岗,支持工作时间段配置', 1, NOW(), NOW()),
('intrusion', '周界入侵检测', 'person', '{"cooldown_seconds":{"type":"int","default":120,"min":0},"confirm_seconds":{"type":"int","default":5,"min":1}}', '检测人员进入指定区域', 1, NOW(), NOW());