flowlong/db/flowlong-mysql.sql
2024-10-14 14:42:22 +08:00

219 lines
13 KiB
SQL
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- 添加数据库初始化脚本+兼容5.6/5.7版本MYSQL
-- ----------------------------
DROP DATABASE IF EXISTS `flowlong`;
CREATE DATABASE IF NOT EXISTS `flowlong` charset utf8mb4 collate utf8mb4_unicode_ci;
USE `flowlong`;
-- ----------------------------
-- Table structure for flw_process
-- ----------------------------
DROP TABLE IF EXISTS `flw_process`;
CREATE TABLE `flw_process`
(
`id` bigint NOT NULL COMMENT '主键ID',
`tenant_id` varchar(50) COMMENT '租户ID',
`create_id` varchar(50) NOT NULL COMMENT '创建人ID',
`create_by` varchar(50) NOT NULL COMMENT '创建人名称',
`create_time` timestamp NOT NULL COMMENT '创建时间',
`process_key` varchar(100) NOT NULL COMMENT '流程定义 key 唯一标识',
`process_name` varchar(100) NOT NULL COMMENT '流程定义名称',
`process_icon` varchar(255) DEFAULT NULL COMMENT '流程图标地址',
`process_type` varchar(100) COMMENT '流程类型',
`process_version` int NOT NULL DEFAULT 1 COMMENT '流程版本,默认 1',
`instance_url` varchar(200) COMMENT '实例地址',
`remark` varchar(255) COMMENT '备注说明',
`use_scope` tinyint(1) NOT NULL DEFAULT 0 COMMENT '使用范围 0全员 1指定人员业务关联 2均不可提交',
`process_state` tinyint(1) NOT NULL DEFAULT 1 COMMENT '流程状态 0不可用 1可用 2历史版本',
`model_content` text COMMENT '流程模型定义JSON内容',
`sort` tinyint(1) DEFAULT 0 COMMENT '排序',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_process_name`(`process_name` ASC) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '流程定义表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for flw_his_instance
-- ----------------------------
DROP TABLE IF EXISTS `flw_his_instance`;
CREATE TABLE `flw_his_instance`
(
`id` bigint NOT NULL COMMENT '主键ID',
`tenant_id` varchar(50) COMMENT '租户ID',
`create_id` varchar(50) NOT NULL COMMENT '创建人ID',
`create_by` varchar(50) NOT NULL COMMENT '创建人名称',
`create_time` timestamp NOT NULL COMMENT '创建时间',
`process_id` bigint NOT NULL COMMENT '流程定义ID',
`parent_instance_id` bigint COMMENT '父流程实例ID',
`priority` tinyint(1) COMMENT '优先级',
`instance_no` varchar(50) COMMENT '流程实例编号',
`business_key` varchar(100) COMMENT '业务KEY',
`variable` text COMMENT '变量json',
`current_node_name` varchar(100) NOT NULL COMMENT '当前所在节点名称',
`current_node_key` varchar(100) NOT NULL COMMENT '当前所在节点key',
`expire_time` timestamp NULL DEFAULT NULL COMMENT '期望完成时间',
`last_update_by` varchar(50) COMMENT '上次更新人',
`last_update_time` timestamp NULL DEFAULT NULL COMMENT '上次更新时间',
`instance_state` tinyint(1) NOT NULL DEFAULT 0 COMMENT '状态 0审批中 1审批通过 2审批拒绝 3撤销审批 4超时结束 5强制终止',
`end_time` timestamp NULL DEFAULT NULL COMMENT '结束时间',
`duration` bigint COMMENT '处理耗时',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_his_instance_process_id`(`process_id` ASC) USING BTREE,
CONSTRAINT `fk_his_instance_process_id` FOREIGN KEY (`process_id`) REFERENCES `flw_process` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '历史流程实例表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for flw_his_task
-- ----------------------------
DROP TABLE IF EXISTS `flw_his_task`;
CREATE TABLE `flw_his_task`
(
`id` bigint NOT NULL COMMENT '主键ID',
`tenant_id` varchar(50) COMMENT '租户ID',
`create_id` varchar(50) NOT NULL COMMENT '创建人ID',
`create_by` varchar(50) NOT NULL COMMENT '创建人名称',
`create_time` timestamp NOT NULL COMMENT '创建时间',
`instance_id` bigint NOT NULL COMMENT '流程实例ID',
`parent_task_id` bigint COMMENT '父任务ID',
`call_process_id` bigint COMMENT '调用外部流程定义ID',
`call_instance_id` bigint COMMENT '调用外部流程实例ID',
`task_name` varchar(100) NOT NULL COMMENT '任务名称',
`task_key` varchar(100) NOT NULL COMMENT '任务 key 唯一标识',
`task_type` tinyint(1) NOT NULL COMMENT '任务类型',
`perform_type` tinyint(1) COMMENT '参与类型',
`action_url` varchar(200) COMMENT '任务处理的url',
`variable` text COMMENT '变量json',
`assignor_id` varchar(100) COMMENT '委托人ID',
`assignor` varchar(255) COMMENT '委托人',
`expire_time` timestamp NULL DEFAULT NULL COMMENT '任务期望完成时间',
`remind_time` timestamp NULL DEFAULT NULL COMMENT '提醒时间',
`remind_repeat` tinyint(1) NOT NULL DEFAULT 0 COMMENT '提醒次数',
`viewed` tinyint(1) NOT NULL DEFAULT 0 COMMENT '已阅 0否 1',
`finish_time` timestamp NULL DEFAULT NULL COMMENT '任务完成时间',
`task_state` tinyint(1) NOT NULL DEFAULT 0 COMMENT '任务状态 0活动 1跳转 2完成 3拒绝 4撤销审批 5超时 6终止 7驳回终止',
`duration` bigint COMMENT '处理耗时',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_his_task_instance_id`(`instance_id` ASC) USING BTREE,
INDEX `idx_his_task_parent_task_id`(`parent_task_id` ASC) USING BTREE,
CONSTRAINT `fk_his_task_instance_id` FOREIGN KEY (`instance_id`) REFERENCES `flw_his_instance` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '历史任务表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for flw_his_task_actor
-- ----------------------------
DROP TABLE IF EXISTS `flw_his_task_actor`;
CREATE TABLE `flw_his_task_actor`
(
`id` bigint NOT NULL COMMENT '主键 ID',
`tenant_id` varchar(50) COMMENT '租户ID',
`instance_id` bigint NOT NULL COMMENT '流程实例ID',
`task_id` bigint NOT NULL COMMENT '任务ID',
`actor_id` varchar(100) NOT NULL COMMENT '参与者ID',
`actor_name` varchar(100) NOT NULL COMMENT '参与者名称',
`actor_type` int NOT NULL COMMENT '参与者类型 0用户 1角色 2部门',
`weight` int COMMENT '权重,票签任务时,该值为不同处理人员的分量比例,代理任务时,该值为 1 时为代理人',
`agent_id` varchar(100) COMMENT '代理人ID',
`agent_type` int COMMENT '代理人类型 0代理 1被代理 2认领角色 3认领部门',
`extend` text COMMENT '扩展json',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_his_task_actor_task_id`(`task_id` ASC) USING BTREE,
CONSTRAINT `fk_his_task_actor_task_id` FOREIGN KEY (`task_id`) REFERENCES `flw_his_task` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '历史任务参与者表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for flw_instance
-- ----------------------------
DROP TABLE IF EXISTS `flw_instance`;
CREATE TABLE `flw_instance`
(
`id` bigint NOT NULL COMMENT '主键ID',
`tenant_id` varchar(50) COMMENT '租户ID',
`create_id` varchar(50) NOT NULL COMMENT '创建人ID',
`create_by` varchar(50) NOT NULL COMMENT '创建人名称',
`create_time` timestamp NOT NULL COMMENT '创建时间',
`process_id` bigint NOT NULL COMMENT '流程定义ID',
`parent_instance_id` bigint COMMENT '父流程实例ID',
`priority` tinyint(1) COMMENT '优先级',
`instance_no` varchar(50) COMMENT '流程实例编号',
`business_key` varchar(100) COMMENT '业务KEY',
`variable` text COMMENT '变量json',
`current_node_name` varchar(100) NOT NULL COMMENT '当前所在节点名称',
`current_node_key` varchar(100) NOT NULL COMMENT '当前所在节点key',
`expire_time` timestamp NULL DEFAULT NULL COMMENT '期望完成时间',
`last_update_by` varchar(50) COMMENT '上次更新人',
`last_update_time` timestamp NULL DEFAULT NULL COMMENT '上次更新时间',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_instance_process_id`(`process_id` ASC) USING BTREE,
CONSTRAINT `fk_instance_process_id` FOREIGN KEY (`process_id`) REFERENCES `flw_process` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '流程实例表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for flw_task
-- ----------------------------
DROP TABLE IF EXISTS `flw_task`;
CREATE TABLE `flw_task`
(
`id` bigint NOT NULL COMMENT '主键ID',
`tenant_id` varchar(50) COMMENT '租户ID',
`create_id` varchar(50) NOT NULL COMMENT '创建人ID',
`create_by` varchar(50) NOT NULL COMMENT '创建人名称',
`create_time` timestamp NOT NULL COMMENT '创建时间',
`instance_id` bigint NOT NULL COMMENT '流程实例ID',
`parent_task_id` bigint COMMENT '父任务ID',
`task_name` varchar(100) NOT NULL COMMENT '任务名称',
`task_key` varchar(100) NOT NULL COMMENT '任务 key 唯一标识',
`task_type` tinyint(1) NOT NULL COMMENT '任务类型',
`perform_type` tinyint(1) NULL COMMENT '参与类型',
`action_url` varchar(200) COMMENT '任务处理的url',
`variable` text COMMENT '变量json',
`assignor_id` varchar(100) COMMENT '委托人ID',
`assignor` varchar(255) COMMENT '委托人',
`expire_time` timestamp NULL DEFAULT NULL COMMENT '任务期望完成时间',
`remind_time` timestamp NULL DEFAULT NULL COMMENT '提醒时间',
`remind_repeat` tinyint(1) NOT NULL DEFAULT 0 COMMENT '提醒次数',
`viewed` tinyint(1) NOT NULL DEFAULT 0 COMMENT '已阅 0否 1',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_task_instance_id`(`instance_id` ASC) USING BTREE,
CONSTRAINT `fk_task_instance_id` FOREIGN KEY (`instance_id`) REFERENCES `flw_instance` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '任务表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for flw_task_actor
-- ----------------------------
DROP TABLE IF EXISTS `flw_task_actor`;
CREATE TABLE `flw_task_actor`
(
`id` bigint NOT NULL COMMENT '主键 ID',
`tenant_id` varchar(50) COMMENT '租户ID',
`instance_id` bigint NOT NULL COMMENT '流程实例ID',
`task_id` bigint NOT NULL COMMENT '任务ID',
`actor_id` varchar(100) NOT NULL COMMENT '参与者ID',
`actor_name` varchar(100) NOT NULL COMMENT '参与者名称',
`actor_type` int NOT NULL COMMENT '参与者类型 0用户 1角色 2部门',
`weight` int COMMENT '权重,票签任务时,该值为不同处理人员的分量比例,代理任务时,该值为 1 时为代理人',
`agent_id` varchar(100) COMMENT '代理人ID',
`agent_type` int COMMENT '代理人类型 0代理 1被代理 2认领角色 3认领部门',
`extend` text COMMENT '扩展json',
PRIMARY KEY (`id`) USING BTREE,
INDEX `idx_task_actor_task_id`(`task_id` ASC) USING BTREE,
CONSTRAINT `fk_task_actor_task_id` FOREIGN KEY (`task_id`) REFERENCES `flw_task` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '任务参与者表' ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for flw_instance
-- ----------------------------
DROP TABLE IF EXISTS `flw_ext_instance`;
CREATE TABLE `flw_ext_instance`
(
`id` bigint NOT NULL COMMENT '主键ID',
`tenant_id` varchar(50) COMMENT '租户ID',
`process_id` bigint NOT NULL COMMENT '流程定义ID',
`process_name` varchar(100) COMMENT '流程名称',
`process_type` varchar(100) COMMENT '流程类型',
`model_content` text COMMENT '流程模型定义JSON内容',
PRIMARY KEY (`id`) USING BTREE,
CONSTRAINT `fk_ext_instance_id` FOREIGN KEY (`id`) REFERENCES `flw_his_instance` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB CHARACTER SET = utf8mb4 COMMENT = '扩展流程实例表' ROW_FORMAT = Dynamic;