-- 系统用户表
CREATE TABLE `sys_user` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键',
  `user_name` varchar(100) NOT NULL COMMENT '用户名',
  `password` varchar(100) NOT NULL COMMENT '密码',
  `code` varchar(100) NOT NULL COMMENT '编号',
  `gender` smallint DEFAULT '0' COMMENT '性别,0:男,1:女',
  `email` varchar(100) DEFAULT NULL COMMENT '邮箱',
  `full_name` varchar(100) DEFAULT NULL COMMENT '姓名',
  `status` varchar(100) NOT NULL COMMENT '状态,0:启用,1:禁用',
  `create_date` date DEFAULT NULL COMMENT '新增日期',
  `create_user` varchar(100) DEFAULT NULL COMMENT '新增人',
  `update_date` date DEFAULT NULL COMMENT '更新日期',
  `update_user` varchar(100) DEFAULT NULL COMMENT '更新人',
  `avatar` blob,
  `remark` text,
  PRIMARY KEY (`id`),
  UNIQUE KEY `user_name_unique` (`user_name`),
  UNIQUE KEY `code_unique` (`code`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
-- 用户角色表
CREATE TABLE `sys_user_role` (
  `id`      BIGINT NOT NULL AUTO_INCREMENT
  COMMENT '主键',
  `user_id` BIGINT NOT NULL
  COMMENT '用户id',
  `role_id` BIGINT NOT NULL
  COMMENT '角色ID',
  PRIMARY KEY (`id`)
)
  ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4
  COLLATE = utf8mb4_general_ci;
-- 系统角色表
CREATE TABLE `sys_role` (
  `id`          BIGINT       NOT NULL AUTO_INCREMENT
  COMMENT '主键',
  `name`        VARCHAR(100) NOT NULL
  COMMENT '角色名称',
  `code`        VARCHAR(100) NOT NULL
  COMMENT '角色编码',
  `remark`      BIGINT                DEFAULT NULL
  COMMENT '备注',
  `status`      SMALLINT     NOT NULL
  COMMENT '状态,0:启用,1:禁用',
  `create_user` BIGINT                DEFAULT NULL
  COMMENT '新增人',
  `create_date` DATETIME              DEFAULT NULL
  COMMENT '新增日期',
  `update_date` DATETIME              DEFAULT NULL
  COMMENT '更新日期',
  `update_user` BIGINT                DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `code_unique` (`code`)
)
  ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4
  COLLATE = utf8mb4_general_ci;
-- 系统菜单表
CREATE TABLE `sys_menu` (
  `id`          BIGINT       NOT NULL AUTO_INCREMENT
  COMMENT '主键',
  `parent_id`   BIGINT                DEFAULT NULL
  COMMENT '父级id',
  `name`        VARCHAR(100) NOT NULL
  COMMENT '名称',
  `type`        SMALLINT     NOT NULL
  COMMENT '类型,0:目录,1:菜单,2:按钮',
  `url`         TEXT COMMENT 'url',
  `perms`       TEXT COMMENT '权限',
  `icon`        VARCHAR(100)          DEFAULT NULL
  COMMENT '图标',
  `seq`         INT                   DEFAULT NULL
  COMMENT '排序',
  `create_user` BIGINT                DEFAULT NULL
  COMMENT '新增人',
  `create_date` DATETIME              DEFAULT NULL
  COMMENT '新增日期',
  `update_user` BIGINT                DEFAULT NULL
  COMMENT '更新人',
  `update_date` DATETIME              DEFAULT NULL
  COMMENT '更新日期',
  PRIMARY KEY (`id`),
  UNIQUE KEY `name_unique` (`name`)
)
  ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4
  COLLATE = utf8mb4_general_ci;
-- 角色菜单表
CREATE TABLE `sys_role_menu` (
  `id`      BIGINT NOT NULL AUTO_INCREMENT
  COMMENT '主键',
  `role_id` BIGINT NOT NULL
  COMMENT '角色ID',
  `menu_id` BIGINT NOT NULL
  COMMENT '菜单ID',
  PRIMARY KEY (`id`)
)
  ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4
  COLLATE = utf8mb4_general_ci;
-- 系统日志表
CREATE TABLE `sys_log` (
  `id`           BIGINT       NOT NULL AUTO_INCREMENT
  COMMENT '主键',
  `user_name`    VARCHAR(100) NOT NULL
  COMMENT '用户名',
  `user_code`    VARCHAR(100) NOT NULL
  COMMENT '用户编码',
  `operation`    VARCHAR(100) NOT NULL
  COMMENT '操作',
  `content`      TEXT COMMENT '操作内容',
  `ip`           VARCHAR(100)          DEFAULT NULL
  COMMENT 'ip地址',
  `operate_date` DATETIME     NOT NULL
  COMMENT '操作日期',
  `elapsed_time` BIGINT                DEFAULT NULL
  COMMENT '耗时',
  PRIMARY KEY (`id`)
)
  ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4
  COLLATE = utf8mb4_general_ci;
-- 系统字典类型表
CREATE TABLE `sys_dict_type` (
  `id`          BIGINT       NOT NULL AUTO_INCREMENT
  COMMENT '主键',
  `name`        VARCHAR(100) NOT NULL
  COMMENT '名称',
  `code`        VARCHAR(100) NOT NULL
  COMMENT '编码',
  `create_user` BIGINT                DEFAULT NULL
  COMMENT '新增人',
  `create_date` DATE                  DEFAULT NULL
  COMMENT '新增日期',
  `update_user` BIGINT                DEFAULT NULL
  COMMENT '更新人',
  `update_date` DATETIME              DEFAULT NULL
  COMMENT '更新日期',
  PRIMARY KEY (`id`),
  UNIQUE KEY `code_unique` (`code`)
)
  ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4
  COLLATE = utf8mb4_general_ci;
-- 系统字典表
CREATE TABLE `sys_dict_item` (
  `id`          BIGINT       NOT NULL AUTO_INCREMENT
  COMMENT '主键',
  `type_id`     BIGINT       NOT NULL
  COMMENT '类型ID',
  `type_name`   VARCHAR(100) NOT NULL
  COMMENT '类型名称',
  `type_code`   VARCHAR(100) NOT NULL
  COMMENT '类型编码',
  `name`        VARCHAR(100) NOT NULL
  COMMENT '名称',
  `key`         VARCHAR(100) NOT NULL
  COMMENT '键',
  `value`       VARCHAR(100) NOT NULL
  COMMENT '值',
  `remark`      VARCHAR(100)          DEFAULT NULL
  COMMENT '备注',
  `create_user` BIGINT                DEFAULT NULL
  COMMENT '新增人',
  `create_date` DATETIME              DEFAULT NULL
  COMMENT '新增日期',
  `update_id`   BIGINT                DEFAULT NULL
  COMMENT '更新人',
  `update_date` DATETIME              DEFAULT NULL
  COMMENT '更新日期',
  PRIMARY KEY (`id`),
  UNIQUE KEY `typeid_union_key_unique` (`type_id`, `key`)
)
  ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4
  COLLATE = utf8mb4_general_ci;
-- 流程定义表
CREATE TABLE `biz_workflow` (
  `id`          BIGINT       NOT NULL AUTO_INCREMENT
  COMMENT '主键',
  `code`        VARCHAR(100) NOT NULL
  COMMENT '编码',
  `name`        VARCHAR(100) NOT NULL
  COMMENT '名称',
  `xml`         TEXT         NOT NULL
  COMMENT 'xml',
  `svg`         TEXT         NOT NULL
  COMMENT 'svg',
  `status`      SMALLINT              DEFAULT NULL
  COMMENT '发布,0:已发布,1:未发布',
  `create_user` BIGINT                DEFAULT NULL
  COMMENT '新增人',
  `create_date` DATETIME              DEFAULT NULL
  COMMENT '创建日期',
  `update_date` DATETIME              DEFAULT NULL
  COMMENT '更新日期',
  `更新人`         BIGINT                DEFAULT NULL
  COMMENT '更新人',
  PRIMARY KEY (`id`),
  UNIQUE KEY `biz_workflow_unique` (`code`)
)
  ENGINE = InnoDB
  DEFAULT CHARSET = utf8mb4
  COLLATE = utf8mb4_general_ci