-- 系统图类型
CREATE TABLE IF NOT EXISTS `diagram_type` (
  `id` varchar(40) NOT NULL COMMENT '主键',
  `major` varchar(40) DEFAULT NULL COMMENT '所属专业',
  `d_system` varchar(40) DEFAULT NULL COMMENT '所属系统',
  `code` varchar(40) NOT NULL COMMENT '系统图类型编码',
  `name` varchar(40) DEFAULT NULL COMMENT '系统图类型名称',
  `remark` varchar(255) DEFAULT NULL COMMENT '系统图类型的描述',
  `creator` varchar(32) DEFAULT NULL COMMENT '创建人',
  `creation_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  `modifier` varchar(32) DEFAULT NULL COMMENT '最后修改人',
  `modified_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
  `valid` tinyint DEFAULT 1 NOT NULL COMMENT '合法标识',
  `ts` timestamp default current_timestamp on update current_timestamp NOT NULL COMMENT '乐观锁',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB ROW_FORMAT=DYNAMIC COMMENT='系统图类型表结构';

-- 系统图模板
CREATE TABLE IF NOT EXISTS `diagram_template` (
  `id` varchar(40) NOT NULL COMMENT '主键',
  `diagram_type` varchar(40) NOT NULL COMMENT '模板对应的系统图类型代码',
  `name` varchar(40) DEFAULT NULL COMMENT '模板名称',
  `code` varchar(40) DEFAULT NULL COMMENT '模板编码',
  `remark` varchar(255) DEFAULT NULL COMMENT '描述信息',
  `template_content` json DEFAULT NULL COMMENT '模板内容，json格式',
  `creator` varchar(32) DEFAULT NULL COMMENT '创建人',
  `creation_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  `modifier` varchar(32) DEFAULT NULL COMMENT '最后修改人',
  `modified_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
  `valid` tinyint DEFAULT 1 NOT NULL COMMENT '合法标识',
  `ts` timestamp default current_timestamp on update current_timestamp NOT NULL COMMENT '乐观锁',
  PRIMARY KEY (`id`) USING BTREE,
  KEY `idx_diagram_type` (`diagram_type`) USING BTREE
) ENGINE=InnoDB ROW_FORMAT=DYNAMIC COMMENT='系统图模板表结构';

-- 系统图图例
CREATE TABLE IF NOT EXISTS `diagram_legend` (
  `id` varchar(40) NOT NULL COMMENT '主键',
  `name` varchar(40) DEFAULT NULL COMMENT '图例名称',
  `code` varchar(40) NOT NULL COMMENT '图例编码',
  `remark` varchar(255) DEFAULT NULL COMMENT '描述信息',
  `bt_system` varchar(40) NOT NULL COMMENT '所属系统代码',
  `legend_content` json DEFAULT NULL COMMENT '图例内容，json格式',
  `creator` varchar(32) DEFAULT NULL COMMENT '创建人',
  `creation_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  `modifier` varchar(32) DEFAULT NULL COMMENT '最后修改人',
  `modified_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
  `valid` tinyint DEFAULT 1 NOT NULL COMMENT '合法标识',
  `ts` timestamp default current_timestamp on update current_timestamp NOT NULL COMMENT '乐观锁',
  PRIMARY KEY (`id`) USING BTREE,
  KEY `idx_bt_system` (`bt_system`) USING BTREE,
  KEY `idx_id_bt_system` (`id`,`bt_system`) USING BTREE
) ENGINE=InnoDB ROW_FORMAT=DYNAMIC COMMENT='系统图图例表结构';

-- 系统图
CREATE TABLE IF NOT EXISTS `diagram` (
  `id` varchar(40) NOT NULL COMMENT '主键',
  `name` varchar(40) DEFAULT NULL COMMENT '系统图名称',
  `type` varchar(40) NOT NULL COMMENT '系统图类型编码',
  `remark` varchar(255) DEFAULT NULL COMMENT '描述信息',
  `bt_system` varchar(40) DEFAULT NULL COMMENT '所属的系统',
  `template_id` varchar(40) DEFAULT NULL COMMENT '引用的模板id',
  `project_id` varchar(40) DEFAULT NULL COMMENT '项目id',
  `system_id` varchar(100) DEFAULT NULL COMMENT '系统id',
  `group_code` varchar(40) DEFAULT NULL COMMENT '集团编码',
  `state` tinyint DEFAULT 1 NOT NULL COMMENT '系统图状态',
  `diagram_content` json DEFAULT NULL COMMENT '系统图内容，json格式',
  `creator` varchar(32) DEFAULT NULL COMMENT '创建人',
  `creation_time` timestamp NULL DEFAULT NULL COMMENT '创建时间',
  `modifier` varchar(32) DEFAULT NULL COMMENT '最后修改人',
  `modified_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后修改时间',
  `valid` tinyint DEFAULT 1 NOT NULL COMMENT '合法标识',
  `ts` timestamp default current_timestamp on update current_timestamp NOT NULL COMMENT '乐观锁',
  PRIMARY KEY (`id`) USING BTREE,
  KEY `idx_type_project_id_system_id` (`type`,`project_id`,`system_id`) USING BTREE,
  KEY `idx_project_id_system_id` (`project_id`,`system_id`) USING BTREE,
  KEY `idx_project_id_group_code` (`project_id`,`group_code`) USING BTREE
) ENGINE=InnoDB ROW_FORMAT=DYNAMIC COMMENT='系统图表结构';
