|
|
@@ -0,0 +1,167 @@
|
|
|
+-- ========================================================
|
|
|
+-- MySQL 建表脚本(带注释)
|
|
|
+-- 基于 schema-test.sql 适配,适用于 MySQL 5.7+
|
|
|
+-- ========================================================
|
|
|
+
|
|
|
+-- ----------------------------
|
|
|
+-- 1. 系统用户表
|
|
|
+-- ----------------------------
|
|
|
+CREATE TABLE IF NOT EXISTS sys_user (
|
|
|
+ id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '用户ID',
|
|
|
+ username VARCHAR(50) NOT NULL UNIQUE COMMENT '用户名',
|
|
|
+ password VARCHAR(100) NOT NULL COMMENT '密码(加密存储)',
|
|
|
+ real_name VARCHAR(50) COMMENT '真实姓名',
|
|
|
+ phone VARCHAR(20) COMMENT '手机号',
|
|
|
+ email VARCHAR(100) COMMENT '邮箱',
|
|
|
+ dept_id BIGINT DEFAULT 0 COMMENT '所属部门ID,0表示无部门',
|
|
|
+ employee_type VARCHAR(20) DEFAULT 'common_user' COMMENT '员工类型:common_user-普通用户等',
|
|
|
+ status TINYINT DEFAULT 0 COMMENT '状态:0-正常,1-禁用',
|
|
|
+ create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
|
+ update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间'
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统用户表';
|
|
|
+
|
|
|
+-- ----------------------------
|
|
|
+-- 2. 系统角色表
|
|
|
+-- ----------------------------
|
|
|
+CREATE TABLE IF NOT EXISTS sys_role (
|
|
|
+ id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '角色ID',
|
|
|
+ role_code VARCHAR(50) NOT NULL UNIQUE COMMENT '角色编码',
|
|
|
+ role_name VARCHAR(50) NOT NULL COMMENT '角色名称',
|
|
|
+ role_scope VARCHAR(20) DEFAULT 'tenant' COMMENT '角色范围:tenant-租户级等',
|
|
|
+ parent_id BIGINT DEFAULT 0 COMMENT '父角色ID,0表示顶级角色',
|
|
|
+ dept_id BIGINT DEFAULT 0 COMMENT '所属部门ID',
|
|
|
+ status TINYINT DEFAULT 1 COMMENT '状态:0-禁用,1-启用',
|
|
|
+ create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统角色表';
|
|
|
+
|
|
|
+-- ----------------------------
|
|
|
+-- 3. 系统菜单表
|
|
|
+-- ----------------------------
|
|
|
+CREATE TABLE IF NOT EXISTS sys_menu (
|
|
|
+ id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '菜单ID',
|
|
|
+ menu_name VARCHAR(50) NOT NULL COMMENT '菜单名称',
|
|
|
+ menu_type TINYINT COMMENT '菜单类型:1-目录,2-菜单,3-按钮',
|
|
|
+ permission VARCHAR(100) COMMENT '权限标识,如 sys:user:add',
|
|
|
+ parent_id BIGINT DEFAULT 0 COMMENT '父菜单ID,0表示顶级菜单',
|
|
|
+ sort_order INT DEFAULT 0 COMMENT '排序号,数字越小越靠前',
|
|
|
+ component VARCHAR(200) COMMENT '前端组件路径',
|
|
|
+ icon VARCHAR(50) COMMENT '菜单图标',
|
|
|
+ status TINYINT DEFAULT 1 COMMENT '状态:0-禁用,1-启用'
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='系统菜单表';
|
|
|
+
|
|
|
+-- ----------------------------
|
|
|
+-- 4. 用户角色关联表
|
|
|
+-- ----------------------------
|
|
|
+CREATE TABLE IF NOT EXISTS sys_user_role (
|
|
|
+ id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '关联ID',
|
|
|
+ user_id BIGINT NOT NULL COMMENT '用户ID',
|
|
|
+ role_id BIGINT NOT NULL COMMENT '角色ID',
|
|
|
+ UNIQUE KEY uk_user_role (user_id, role_id) COMMENT '用户角色唯一索引'
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用户角色关联表';
|
|
|
+
|
|
|
+-- ----------------------------
|
|
|
+-- 5. 角色菜单关联表
|
|
|
+-- ----------------------------
|
|
|
+CREATE TABLE IF NOT EXISTS sys_role_menu (
|
|
|
+ id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '关联ID',
|
|
|
+ role_id BIGINT NOT NULL COMMENT '角色ID',
|
|
|
+ menu_id BIGINT NOT NULL COMMENT '菜单ID',
|
|
|
+ UNIQUE KEY uk_role_menu (role_id, menu_id) COMMENT '角色菜单唯一索引'
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='角色菜单关联表';
|
|
|
+
|
|
|
+-- ----------------------------
|
|
|
+-- 6. 部门表
|
|
|
+-- ----------------------------
|
|
|
+CREATE TABLE IF NOT EXISTS sys_dept (
|
|
|
+ id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '部门ID',
|
|
|
+ dept_name VARCHAR(50) NOT NULL COMMENT '部门名称',
|
|
|
+ dept_code VARCHAR(50) COMMENT '部门编码',
|
|
|
+ parent_id BIGINT DEFAULT 0 COMMENT '父部门ID,0表示顶级部门',
|
|
|
+ leader_id BIGINT COMMENT '部门负责人ID',
|
|
|
+ sort_order INT DEFAULT 0 COMMENT '排序号',
|
|
|
+ status TINYINT DEFAULT 1 COMMENT '状态:0-禁用,1-启用',
|
|
|
+ create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间'
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='部门表';
|
|
|
+
|
|
|
+-- ----------------------------
|
|
|
+-- 7. 流程定义表
|
|
|
+-- ----------------------------
|
|
|
+CREATE TABLE IF NOT EXISTS bpm_process_definition (
|
|
|
+ id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '流程定义ID',
|
|
|
+ process_code VARCHAR(50) NOT NULL UNIQUE COMMENT '流程编码',
|
|
|
+ process_name VARCHAR(100) NOT NULL COMMENT '流程名称',
|
|
|
+ category VARCHAR(50) COMMENT '流程分类',
|
|
|
+ form_id BIGINT COMMENT '关联表单ID',
|
|
|
+ model_json TEXT NOT NULL COMMENT '流程模型JSON(BPMN/Flowable模型)',
|
|
|
+ version INT DEFAULT 1 COMMENT '版本号',
|
|
|
+ status TINYINT DEFAULT 0 COMMENT '状态:0-草稿,1-已发布,2-已禁用',
|
|
|
+ description VARCHAR(500) COMMENT '流程描述',
|
|
|
+ create_by BIGINT COMMENT '创建人ID',
|
|
|
+ create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
|
+ update_by BIGINT COMMENT '更新人ID',
|
|
|
+ update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
|
+ deleted TINYINT DEFAULT 0 COMMENT '逻辑删除:0-未删除,1-已删除'
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程定义表';
|
|
|
+
|
|
|
+-- ----------------------------
|
|
|
+-- 8. 流程实例表
|
|
|
+-- ----------------------------
|
|
|
+CREATE TABLE IF NOT EXISTS bpm_process_instance (
|
|
|
+ id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '流程实例ID',
|
|
|
+ instance_no VARCHAR(50) NOT NULL UNIQUE COMMENT '实例编号(业务单号)',
|
|
|
+ process_definition_id BIGINT NOT NULL COMMENT '流程定义ID',
|
|
|
+ version INT NOT NULL COMMENT '流程版本号',
|
|
|
+ title VARCHAR(200) COMMENT '实例标题',
|
|
|
+ applicant_id BIGINT NOT NULL COMMENT '申请人ID',
|
|
|
+ applicant_dept_id BIGINT COMMENT '申请人部门ID',
|
|
|
+ form_data TEXT COMMENT '表单数据JSON',
|
|
|
+ current_node_id VARCHAR(50) COMMENT '当前节点ID',
|
|
|
+ status TINYINT DEFAULT 0 COMMENT '实例状态:0-进行中,1-已完成,2-已驳回,3-已撤回',
|
|
|
+ result TINYINT COMMENT '审批结果:0-不通过,1-通过',
|
|
|
+ start_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '流程启动时间',
|
|
|
+ end_time TIMESTAMP NULL COMMENT '流程结束时间',
|
|
|
+ create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
|
|
+ update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
|
|
+ deleted TINYINT DEFAULT 0 COMMENT '逻辑删除:0-未删除,1-已删除'
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='流程实例表';
|
|
|
+
|
|
|
+-- ----------------------------
|
|
|
+-- 9. 审批任务表
|
|
|
+-- ----------------------------
|
|
|
+CREATE TABLE IF NOT EXISTS bpm_approval_task (
|
|
|
+ id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '任务ID',
|
|
|
+ instance_id BIGINT NOT NULL COMMENT '流程实例ID',
|
|
|
+ node_id VARCHAR(50) NOT NULL COMMENT '节点ID(流程模型中的节点标识)',
|
|
|
+ node_name VARCHAR(100) COMMENT '节点名称',
|
|
|
+ node_type VARCHAR(20) COMMENT '节点类型:user_task-用户任务等',
|
|
|
+ assignee_id BIGINT COMMENT '任务处理人ID',
|
|
|
+ assignee_type VARCHAR(20) COMMENT '处理人类型:user-指定用户,role-角色,dept-部门等',
|
|
|
+ task_status TINYINT DEFAULT 0 COMMENT '任务状态:0-待处理,1-已处理,2-已转交',
|
|
|
+ approval_result TINYINT COMMENT '审批结果:0-驳回,1-同意,2-转交',
|
|
|
+ approval_comment TEXT COMMENT '审批意见',
|
|
|
+ attachment_urls TEXT COMMENT '附件URL列表(JSON数组)',
|
|
|
+ timeout_time TIMESTAMP NULL COMMENT '超时时间',
|
|
|
+ timeout_action VARCHAR(20) COMMENT '超时动作:pass-自动通过,reject-自动驳回,remind-提醒等',
|
|
|
+ create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间(任务生成时间)',
|
|
|
+ handle_time TIMESTAMP NULL COMMENT '处理时间',
|
|
|
+ deleted TINYINT DEFAULT 0 COMMENT '逻辑删除:0-未删除,1-已删除'
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='审批任务表';
|
|
|
+
|
|
|
+-- ----------------------------
|
|
|
+-- 10. 审批记录表
|
|
|
+-- ----------------------------
|
|
|
+CREATE TABLE IF NOT EXISTS bpm_approval_record (
|
|
|
+ id BIGINT PRIMARY KEY AUTO_INCREMENT COMMENT '记录ID',
|
|
|
+ task_id BIGINT NOT NULL COMMENT '关联审批任务ID',
|
|
|
+ instance_id BIGINT NOT NULL COMMENT '关联流程实例ID',
|
|
|
+ node_id VARCHAR(50) NOT NULL COMMENT '节点ID',
|
|
|
+ node_name VARCHAR(100) COMMENT '节点名称',
|
|
|
+ operator_id BIGINT NOT NULL COMMENT '操作人ID',
|
|
|
+ operator_name VARCHAR(50) COMMENT '操作人姓名',
|
|
|
+ action_type VARCHAR(20) NOT NULL COMMENT '动作类型:approve-同意,reject-驳回,transfer-转交等',
|
|
|
+ action_result VARCHAR(20) COMMENT '动作结果:同意/驳回/转交等',
|
|
|
+ comment TEXT COMMENT '审批意见',
|
|
|
+ attachment_urls TEXT COMMENT '附件URL列表(JSON数组)',
|
|
|
+ create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP COMMENT '操作时间',
|
|
|
+ deleted TINYINT DEFAULT 0 COMMENT '逻辑删除:0-未删除,1-已删除'
|
|
|
+) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='审批记录表(操作日志/历史记录)';
|