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_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 '票签权重', 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_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 '任务名称', `display_name` varchar(200) NOT NULL COMMENT '任务显示名称', `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(100) 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 1 COMMENT '任务状态 0,活动 1,结束 2,拒绝 3,超时 4,终止 5,跳转', `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_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 '票签权重', 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_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 '任务名称', `display_name` varchar(200) NOT NULL COMMENT '任务显示名称', `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(100) 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_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` varchar(100) NOT NULL COMMENT '当前所在节点', `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 1 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_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` varchar(100) NOT NULL COMMENT '当前所在节点', `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_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', `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; -- ---------------------------- -- 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,可用', `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;