-- 报警数据表
CREATE TABLE IF NOT EXISTS `alarm_data` (
  `id` varchar(64) NOT NULL COMMENT '主键',
  `device_code` varchar(255) DEFAULT NULL COMMENT '设备编码',
  `warning_type` varchar(100) DEFAULT NULL COMMENT '预警类型',
  `warning_code` varchar(100) DEFAULT NULL COMMENT '预警编码',
  `min_value` decimal(10,2) DEFAULT NULL COMMENT '预警最小值，小于等于该值视为报警',
  `max_value` decimal(10,2) DEFAULT NULL COMMENT '预警最大值，大于等于该值视为报警',
  `actual_value` decimal(10,2) DEFAULT NULL COMMENT '实际值',
  `alarm_status` int(1) DEFAULT 0 COMMENT '报警状态 0-未处理 1-已处理',
  `alarm_time` datetime DEFAULT NULL COMMENT '报警时间',
  `handle_time` datetime DEFAULT NULL COMMENT '处理时间',
  `handle_user` varchar(255) DEFAULT NULL COMMENT '处理人',
  `handle_remark` text COMMENT '处理备注',
  `remark` text COMMENT '备注',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_time` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`),
  KEY `idx_device_code` (`device_code`),
  KEY `idx_alarm_status` (`alarm_status`),
  KEY `idx_alarm_time` (`alarm_time`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='报警数据表';

-- 修改现有表结构
-- ALTER TABLE `alarm_data` 
-- ADD COLUMN IF NOT EXISTS `min_value` decimal(10,2) DEFAULT NULL COMMENT '预警最小值，小于等于该值视为报警' AFTER `warning_code`,
-- ADD COLUMN IF NOT EXISTS `max_value` decimal(10,2) DEFAULT NULL COMMENT '预警最大值，大于等于该值视为报警' AFTER `min_value`;

-- 移除旧字段
-- ALTER TABLE `alarm_data` DROP COLUMN IF EXISTS `warning_value`;
-- ALTER TABLE `alarm_data` DROP COLUMN IF EXISTS `device_name`;
-- ALTER TABLE `alarm_data` DROP COLUMN IF EXISTS `device_type`;
