-- Warm-Flow 工作流引擎 全量建表脚本(MySQL) -- 来源:https://gitee.com/dromara/warm-flow/blob/master/sql/mysql/warm-flow-all.sql -- 首次集成执行本脚本;后续版本升级请使用官方 warm-flow_x.x.x-upgrade.sql CREATE TABLE IF NOT EXISTS `flow_definition` ( `id` bigint NOT NULL COMMENT '主键id', `flow_code` varchar(40) NOT NULL COMMENT '流程编码', `flow_name` varchar(100) NOT NULL COMMENT '流程名称', `model_value` varchar(40) NOT NULL DEFAULT 'CLASSICS' COMMENT '设计器模型(CLASSICS经典模型 MIMIC仿钉钉模型)', `category` varchar(100) DEFAULT NULL COMMENT '流程类别', `version` varchar(20) NOT NULL COMMENT '流程版本', `is_publish` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否发布(0未发布 1已发布 9失效)', `form_custom` char(1) DEFAULT 'N' COMMENT '审批表单是否自定义(Y是 N否)', `form_path` varchar(100) DEFAULT NULL COMMENT '审批表单路径', `activity_status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '流程激活状态(0挂起 1激活)', `listener_type` varchar(100) DEFAULT NULL COMMENT '监听器类型', `listener_path` varchar(400) DEFAULT NULL COMMENT '监听器路径', `ext` varchar(500) DEFAULT NULL COMMENT '业务详情 存业务表对象json字符串', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `create_by` varchar(64) DEFAULT '' COMMENT '创建人', `update_time` datetime DEFAULT NULL COMMENT '更新时间', `update_by` varchar(64) DEFAULT '' COMMENT '更新人', `del_flag` char(1) DEFAULT '0' COMMENT '删除标志', `tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB COMMENT ='流程定义表'; CREATE TABLE IF NOT EXISTS `flow_node` ( `id` bigint NOT NULL COMMENT '主键id', `node_type` tinyint(1) NOT NULL COMMENT '节点类型(0开始节点 1中间节点 2结束节点 3互斥网关 4并行网关)', `definition_id` bigint NOT NULL COMMENT '流程定义id', `node_code` varchar(100) NOT NULL COMMENT '流程节点编码', `node_name` varchar(100) DEFAULT NULL COMMENT '流程节点名称', `permission_flag` varchar(200) DEFAULT NULL COMMENT '权限标识(权限类型:权限标识,可以多个,用@@隔开)', `node_ratio` varchar(200) DEFAULT NULL COMMENT '流程签署比例值', `coordinate` varchar(100) DEFAULT NULL COMMENT '坐标', `any_node_skip` varchar(100) DEFAULT NULL COMMENT '任意结点跳转', `listener_type` varchar(100) DEFAULT NULL COMMENT '监听器类型', `listener_path` varchar(400) DEFAULT NULL COMMENT '监听器路径', `form_custom` char(1) DEFAULT 'N' COMMENT '审批表单是否自定义(Y是 N否)', `form_path` varchar(100) DEFAULT NULL COMMENT '审批表单路径', `version` varchar(20) NOT NULL COMMENT '版本', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `create_by` varchar(64) DEFAULT '' COMMENT '创建人', `update_time` datetime DEFAULT NULL COMMENT '更新时间', `update_by` varchar(64) DEFAULT '' COMMENT '更新人', `ext` text COMMENT '节点扩展属性', `del_flag` char(1) DEFAULT '0' COMMENT '删除标志', `tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB COMMENT ='流程节点表'; CREATE TABLE IF NOT EXISTS `flow_skip` ( `id` bigint NOT NULL COMMENT '主键id', `definition_id` bigint NOT NULL COMMENT '流程定义id', `now_node_code` varchar(100) NOT NULL COMMENT '当前流程节点的编码', `now_node_type` tinyint(1) DEFAULT NULL COMMENT '当前节点类型', `next_node_code` varchar(100) NOT NULL COMMENT '下一个流程节点的编码', `next_node_type` tinyint(1) DEFAULT NULL COMMENT '下一个节点类型', `skip_name` varchar(100) DEFAULT NULL COMMENT '跳转名称', `skip_type` varchar(40) DEFAULT NULL COMMENT '跳转类型(PASS审批通过 REJECT退回)', `skip_condition` varchar(200) DEFAULT NULL COMMENT '跳转条件', `coordinate` varchar(100) DEFAULT NULL COMMENT '坐标', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `create_by` varchar(64) DEFAULT '' COMMENT '创建人', `update_time` datetime DEFAULT NULL COMMENT '更新时间', `update_by` varchar(64) DEFAULT '' COMMENT '更新人', `del_flag` char(1) DEFAULT '0' COMMENT '删除标志', `tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB COMMENT ='节点跳转关联表'; CREATE TABLE IF NOT EXISTS `flow_instance` ( `id` bigint NOT NULL COMMENT '主键id', `definition_id` bigint NOT NULL COMMENT '对应flow_definition表的id', `business_id` varchar(40) NOT NULL COMMENT '业务id', `node_type` tinyint(1) NOT NULL COMMENT '节点类型', `node_code` varchar(40) NOT NULL COMMENT '流程节点编码', `node_name` varchar(100) DEFAULT NULL COMMENT '流程节点名称', `variable` text COMMENT '任务变量', `flow_status` varchar(20) NOT NULL COMMENT '流程状态', `activity_status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '流程激活状态', `def_json` text COMMENT '流程定义json', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `create_by` varchar(64) DEFAULT '' COMMENT '创建人', `update_time` datetime DEFAULT NULL COMMENT '更新时间', `update_by` varchar(64) DEFAULT '' COMMENT '更新人', `ext` varchar(500) DEFAULT NULL COMMENT '扩展字段', `del_flag` char(1) DEFAULT '0' COMMENT '删除标志', `tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB COMMENT ='流程实例表'; CREATE TABLE IF NOT EXISTS `flow_task` ( `id` bigint NOT NULL COMMENT '主键id', `definition_id` bigint NOT NULL COMMENT '对应flow_definition表的id', `instance_id` bigint NOT NULL COMMENT '对应flow_instance表的id', `node_code` varchar(100) NOT NULL COMMENT '节点编码', `node_name` varchar(100) DEFAULT NULL COMMENT '节点名称', `node_type` tinyint(1) NOT NULL COMMENT '节点类型', `flow_status` varchar(20) NOT NULL COMMENT '流程状态', `form_custom` char(1) DEFAULT 'N' COMMENT '审批表单是否自定义', `form_path` varchar(100) DEFAULT NULL COMMENT '审批表单路径', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `create_by` varchar(64) DEFAULT '' COMMENT '创建人', `update_time` datetime DEFAULT NULL COMMENT '更新时间', `update_by` varchar(64) DEFAULT '' COMMENT '更新人', `del_flag` char(1) DEFAULT '0' COMMENT '删除标志', `tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB COMMENT ='待办任务表'; CREATE TABLE IF NOT EXISTS `flow_his_task` ( `id` bigint(20) NOT NULL COMMENT '主键id', `definition_id` bigint(20) NOT NULL COMMENT '对应flow_definition表的id', `instance_id` bigint(20) NOT NULL COMMENT '对应flow_instance表的id', `task_id` bigint(20) NOT NULL COMMENT '对应flow_task表的id', `node_code` varchar(100) DEFAULT NULL COMMENT '开始节点编码', `node_name` varchar(100) DEFAULT NULL COMMENT '开始节点名称', `node_type` tinyint(1) DEFAULT NULL COMMENT '开始节点类型', `target_node_code` varchar(200) DEFAULT NULL COMMENT '目标节点编码', `target_node_name` varchar(200) DEFAULT NULL COMMENT '结束节点名称', `approver` varchar(40) DEFAULT NULL COMMENT '审批人', `cooperate_type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '协作方式', `collaborator` varchar(500) DEFAULT NULL COMMENT '协作人', `skip_type` varchar(10) NOT NULL COMMENT '流转类型', `flow_status` varchar(20) NOT NULL COMMENT '流程状态', `form_custom` char(1) DEFAULT 'N' COMMENT '审批表单是否自定义', `form_path` varchar(100) DEFAULT NULL COMMENT '审批表单路径', `message` varchar(500) DEFAULT NULL COMMENT '审批意见', `variable` TEXT DEFAULT NULL COMMENT '任务变量', `ext` TEXT DEFAULT NULL COMMENT '业务详情', `create_time` datetime DEFAULT NULL COMMENT '任务开始时间', `update_time` datetime DEFAULT NULL COMMENT '审批完成时间', `del_flag` char(1) DEFAULT '0' COMMENT '删除标志', `tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB COMMENT ='历史任务记录表'; CREATE TABLE IF NOT EXISTS `flow_user` ( `id` bigint NOT NULL COMMENT '主键id', `type` char(1) NOT NULL COMMENT '人员类型', `processed_by` varchar(80) DEFAULT NULL COMMENT '权限人', `associated` bigint NOT NULL COMMENT '任务表id', `create_time` datetime DEFAULT NULL COMMENT '创建时间', `create_by` varchar(80) DEFAULT NULL COMMENT '创建人', `update_time` datetime DEFAULT NULL COMMENT '更新时间', `update_by` varchar(64) DEFAULT '' COMMENT '更新人', `del_flag` char(1) DEFAULT '0' COMMENT '删除标志', `tenant_id` varchar(40) DEFAULT NULL COMMENT '租户id', PRIMARY KEY (`id`) USING BTREE, KEY `user_processed_type` (`processed_by`, `type`), KEY `user_associated` (`associated`) USING BTREE ) ENGINE = InnoDB COMMENT ='流程用户表';