CREATE TABLE IF NOT EXISTS `data_alarm_device_rel` ( `id` bigint(20) NOT NULL COMMENT 'id', `alarm_rule_id` bigint(20) DEFAULT NULL, `device_id` bigint(20) DEFAULT NULL COMMENT '局部告警的设备id', `access_id` varchar(32) DEFAULT NULL COMMENT '设备接入id', `sn` varchar(32) DEFAULT NULL COMMENT '设备SN', `application_id` bigint(20) DEFAULT NULL COMMENT '应用id', `create_at` bigint(20) DEFAULT NULL, `update_at` bigint(20) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='局部告警的设备数据表'; CREATE TABLE IF NOT EXISTS `data_alarm_push` ( `id` bigint(20) NOT NULL COMMENT 'id', `alarm_rule_id` bigint(20) DEFAULT NULL, `push_name` varchar(64) DEFAULT NULL COMMENT '通知名称', `push_type` varchar(20) DEFAULT NULL, `push_type_name` varchar(20) DEFAULT NULL COMMENT '告警通知方式,系统消息,邮件,短信', `application_id` bigint(20) DEFAULT NULL COMMENT '应用id', `tenant_id` bigint(20) DEFAULT NULL, `always_push` tinyint(1) DEFAULT NULL COMMENT '每次都推送,0:否,1:是', `cycle_number` int(11) DEFAULT NULL COMMENT '每多少条推送一次', `max_number` int(11) DEFAULT NULL COMMENT '最多多少条(结合ignore_number)', `interval_minutes` int(11) DEFAULT NULL COMMENT '间隔分钟数', `alarm_push_template_id` bigint(20) DEFAULT NULL, `enable` tinyint(1) DEFAULT NULL COMMENT '是否可用,0禁用,1可用', `push_rule` text COMMENT '告警规则', `create_at` bigint(20) DEFAULT NULL, `update_at` bigint(20) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='局部告警的设备数据表'; CREATE TABLE IF NOT EXISTS `data_alarm_push_log` ( `id` bigint(20) NOT NULL, `alarm_rule_id` bigint(20) DEFAULT NULL, `alarm_push_id` bigint(20) DEFAULT NULL COMMENT '告警推送配置id', `alarm_push_template_id` bigint(20) DEFAULT NULL COMMENT '告警推送模板id', `push_content` text COMMENT '推送内容', `push_type` varchar(20) DEFAULT NULL COMMENT '推送类型,system,sms,email', `status` tinyint(1) DEFAULT NULL COMMENT '推送状态,0:失败;1:成功', `indicator_id` bigint(20) DEFAULT NULL COMMENT '监测指标id', `monitor_point_id` bigint(20) DEFAULT NULL COMMENT '测点id', `device_id` bigint(20) DEFAULT NULL, `trigger_type` tinyint(1) DEFAULT NULL COMMENT '触发器类型,0:设备离线;1:设备失联;2:监测要素;3:监测指标;4:特征值告警;5:设备离线比例', `level` tinyint(1) unsigned DEFAULT '0' COMMENT '告警等级', `push_time` datetime DEFAULT NULL COMMENT '告警推送时间', `user_name` varchar(50) DEFAULT NULL COMMENT '用户名称', `real_name` varchar(50) DEFAULT NULL COMMENT '用户名', `phone_number` varchar(50) DEFAULT NULL COMMENT '手机号', `email` varchar(50) DEFAULT NULL COMMENT '邮箱', `tenant_id` bigint(20) DEFAULT NULL COMMENT '租户id', `application_id` bigint(20) DEFAULT NULL COMMENT '应用id', `user_id` bigint(20) DEFAULT NULL, `wait_number` int(11) DEFAULT '0', `create_at` bigint(20) DEFAULT NULL COMMENT '推送时间', `update_at` bigint(20) DEFAULT NULL COMMENT '更新时间', PRIMARY KEY (`id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; CREATE TABLE IF NOT EXISTS `data_alarm_push_tag_rel` ( `id` bigint(20) unsigned NOT NULL COMMENT 'id', `tenant_id` bigint(20) DEFAULT NULL COMMENT '租户id', `application_id` bigint(20) DEFAULT NULL COMMENT '应用id', `tag_key` varchar(20) DEFAULT NULL COMMENT '标签key', `tag_value` bigint(20) DEFAULT NULL COMMENT '标签值', `alarm_push_id` bigint(20) DEFAULT NULL COMMENT '告警推送id', `create_at` bigint(20) DEFAULT NULL, `update_at` bigint(20) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='设备的模板以及监测指标之间标识的关系'; CREATE TABLE IF NOT EXISTS `data_alarm_push_template` ( `id` bigint(20) NOT NULL COMMENT 'id', `push_type` varchar(20) DEFAULT NULL, `push_type_name` varchar(20) DEFAULT NULL COMMENT '告警通知方式,系统消息,邮件,短信', `push_template_name` varchar(64) DEFAULT NULL, `push_template_content` text, `enable` tinyint(1) DEFAULT NULL COMMENT '是否启用1启用 0关闭', `remark` varchar(255) DEFAULT NULL, `application_id` bigint(20) DEFAULT NULL COMMENT '应用id', `tenant_id` bigint(20) DEFAULT NULL, `create_at` datetime DEFAULT NULL, `update_at` datetime DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='局部告警的设备数据表'; CREATE TABLE IF NOT EXISTS `data_alarm_push_template_tag_rel` ( `id` bigint(20) unsigned NOT NULL COMMENT 'id', `tenant_id` bigint(20) DEFAULT NULL COMMENT '租户id', `application_id` bigint(20) DEFAULT NULL COMMENT '应用id', `tag_key` varchar(20) DEFAULT NULL COMMENT '标签key', `tag_value` bigint(20) DEFAULT NULL COMMENT '标签值', `alarm_push_template_id` bigint(20) DEFAULT NULL COMMENT '告警推送模板id', `create_at` bigint(20) DEFAULT NULL, `update_at` bigint(20) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='设备的模板以及监测指标之间标识的关系'; CREATE TABLE IF NOT EXISTS `data_alarm_push_user` ( `id` bigint(20) unsigned NOT NULL COMMENT 'id', `alarm_rule_id` bigint(20) DEFAULT NULL, `user_id` bigint(20) DEFAULT NULL, `user_name` varchar(50) DEFAULT NULL COMMENT '用户名', `real_name` varchar(50) DEFAULT NULL, `phone_number` varchar(50) DEFAULT NULL, `email` varchar(50) DEFAULT NULL, `alarm_push_id` bigint(20) DEFAULT NULL COMMENT '告警推送id', `create_at` bigint(20) DEFAULT NULL, `update_at` bigint(20) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='设备的模板以及监测指标之间标识的关系'; CREATE TABLE IF NOT EXISTS `data_alarm_sub_rule` ( `id` bigint(20) NOT NULL COMMENT 'id', `alarm_rule_id` bigint(20) DEFAULT NULL COMMENT '告警规则 json格式', `level` tinyint(1) DEFAULT '1' COMMENT '告警等级', `alarm_rule` text COMMENT '具体告警配置', `dead_zone` double DEFAULT NULL COMMENT '死区', `offline_duration` int(11) DEFAULT NULL COMMENT '离线时长检测', `duration` int(11) DEFAULT NULL, `offline_times` int(11) DEFAULT NULL, `offline_percent` int(11) DEFAULT NULL, `aviator` varchar(255) DEFAULT NULL COMMENT '规则表达式', `ignore_aviator` varchar(255) DEFAULT NULL COMMENT '死区、步长设置,用于判断数据是否忽略告警', `alarm_value_field` varchar(32) DEFAULT NULL, `create_at` bigint(20) DEFAULT NULL, `update_at` bigint(20) DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; CREATE TABLE IF NOT EXISTS `data_alarm_rule` ( `id` bigint(20) unsigned NOT NULL COMMENT 'id', `unique_id` varchar(64) DEFAULT NULL, `application_id` bigint(20) DEFAULT NULL COMMENT '应用id', `template_id` bigint(20) DEFAULT NULL COMMENT '模板id', `device_id` bigint(20) DEFAULT NULL COMMENT '设备id', `tenant_id` bigint(20) DEFAULT NULL COMMENT '租户id', `product_id` bigint(20) DEFAULT NULL, `monitor_point_id` bigint(20) DEFAULT NULL COMMENT '测点id', `alarm_name` varchar(255) DEFAULT NULL COMMENT '告警名称', `global_flag` tinyint(1) unsigned DEFAULT '0' COMMENT '使用范围 默认0全局 1局部', `enable` tinyint(1) DEFAULT '1' COMMENT '是否启用1启用 0关闭', `alarm_object` tinyint(1) DEFAULT '1' COMMENT '告警对象,0:设备;1:测点。', `line_type` tinyint(1) DEFAULT '0' COMMENT '组合形式,0:按等级排序;1:and;2:or。', `alarm_device_type` tinyint(1) DEFAULT '0' COMMENT '告警设备类型,0:具体设备;1:同产品型号设备;2:同租户设备;3:同应用设备;4:同设备模板设备', `trigger_type` tinyint(1) DEFAULT '0' COMMENT '触发器类型,0:设备离线;1:设备失联;2:监测要素;3:监测指标;4:特征值告警;5:设备离线比例', `user_name` varchar(32) DEFAULT NULL COMMENT '用户名', `whether_summary` bigint(20) DEFAULT NULL COMMENT '是否汇总', `alarm_msg` varchar(128) DEFAULT NULL, `create_at` datetime DEFAULT NULL, `update_at` datetime DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用于设定监测的告警类型、推送规则以及相关规则'; CREATE TABLE IF NOT EXISTS `data_device_alarm_rel` ( `id` bigint(20) NOT NULL COMMENT 'id', `device_id` bigint(20) DEFAULT NULL COMMENT '局部告警的设备id', `application_id` bigint(20) DEFAULT NULL COMMENT '应用id', `create_at` bigint(20) DEFAULT NULL, `update_at` bigint(20) DEFAULT NULL, PRIMARY KEY (`id`) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='局部告警的设备数据表'; ALTER TABLE `data_alarm_summary` ADD COLUMN `alarm_rule_id` bigint(20) NULL AFTER `id`, MODIFY COLUMN `monitor_tags_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL AFTER `push_condition_id`; ALTER TABLE `data_alarm_push_user` ADD COLUMN `tenant_id` bigint(20) NULL, ADD COLUMN `application_id` bigint(20) NULL, ADD COLUMN `user_center_super` tinyint(1) unsigned DEFAULT '0' COMMENT='用户中心超管,1是,0否', ADD COLUMN `application_super` tinyint(1) unsigned DEFAULT '0' COMMENT='应用超管,1是,0否'; --ALTER TABLE `data_alarm_push_log` -- MODIFY COLUMN `user_name` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '用户名称' AFTER `push_time`, -- MODIFY COLUMN `real_name` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '用户名' AFTER `user_name`, -- MODIFY COLUMN `phone_number` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '手机号' AFTER `real_name`, -- MODIFY COLUMN `email` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '邮箱' AFTER `phone_number`; --ALTER TABLE `data_alarm_push_user` -- MODIFY COLUMN `user_name` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT '用户名' AFTER `user_id`, -- MODIFY COLUMN `real_name` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL AFTER `user_name`, -- MODIFY COLUMN `phone_number` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL AFTER `real_name`, -- MODIFY COLUMN `email` varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL AFTER `phone_number`; ALTER TABLE `data_alarm_push_user` ADD COLUMN `user_center_super` tinyint(1) NULL AFTER `tenant_id`, ADD COLUMN `application_super` tinyint(1) NULL AFTER `user_center_super`;