Flowable的表结构设计遵循模块化原则,通过表名前缀区分功能模块,主要分为以下五类:
一、核心表分类与功能
1. Repository(存储层)
-
功能:存储流程定义、部署信息和静态资源。
-
核心表:
-
ACT_RE_PROCDEF:流程定义表,记录流程版本、Key、部署ID等。
-
ACT_RE_DEPLOYMENT:部署信息表,存储部署时间、分类及关联资源。
-
ACT_GE_BYTEARRAY:二进制资源表,存储BPMN文件、流程图等。
2. Runtime(运行时层)
3. History(历史层)
-
功能:归档已完成流程的历史数据,支持审计与回溯。
-
核心表:
-
ACT_HI_PROCINST:历史流程实例表,记录流程起止时间、业务主键等。
-
ACT_HI_TASKINST:历史任务表,存储任务处理人、完成时间等。
-
ACT_HI_VARINST:历史变量表,保存流程流转中的变量快照。
4. Identity(身份层)
-
功能:管理用户、用户组及权限,支持多租户隔离。
-
核心表:
-
ACT_ID_USER:用户表,存储用户基本信息(如邮箱、密码)。
-
ACT_ID_GROUP:用户组表,定义角色或部门。
-
ACT_ID_MEMBERSHIP:用户-组关联表,建立权限关系。
5. 通用数据层(GE)
二、表结构设计特点
-
版本控制
-
多租户支持
-
历史数据归档
-
资源管理
三、典型表关系示例
-
流程定义与部署
ACT_RE_PROCDEF.DEPLOYMENT_ID_→ ACT_RE_DEPLOYMENT.ID_。
-
任务与执行实例
ACT_RU_TASK.EXECUTION_ID_→ ACT_RU_EXECUTION.ID_。
-
用户与权限
ACT_ID_MEMBERSHIP通过USER_ID_和GROUP_ID_关联用户与组。
四、扩展说明
通过上述设计,Flowable实现了高效流程引擎的底层数据管理,兼顾性能与扩展性。如需完整表结构,可参考Flowable官方网页或数据库脚本。