跳到主要内容

Flowable 框架存储分层

47张框架表用于保存流程定义、运行指针、任务、变量、历史、引擎身份及内部作业。不能因为项目没有对应DO就把它们当成无用表;也不能仅凭表存在就认定所有引擎能力都在当前业务启用。以下清单来自本次测试库,字段和约束以完整物理字典为准。

47张表的职责清单​

分组实测表名(完整列举)业务解读及读写职责
设计与部署,4张act_re_model、act_re_deployment、act_re_procdef、act_procdef_info模型草稿、部署、定义版本及引擎定义附加信息;项目经RepositoryService管理;act_procdef_info与自定义bpm_process_definition_info是不同对象
通用资源,3张act_ge_bytearray、act_ge_property、act_evt_log二进制资源/序列化载体、引擎属性、引擎事件日志;不等同infra文件表或业务回调消息表
运行状态与关联,6张act_ru_execution、act_ru_actinst、act_ru_task、act_ru_variable、act_ru_identitylink、act_ru_entitylink流程执行指针、活动、待办、运行变量、用户/组角色关系、父子实体关系;RuntimeService/TaskService及引擎写入
事件等待与作业,7张act_ru_event_subscr、act_ru_job、act_ru_timer_job、act_ru_suspended_job、act_ru_deadletter_job、act_ru_history_job、act_ru_external_job等待事件与异步、定时、挂起、死信、历史处理、外部作业;是引擎调度数据,不是Task微服务投放任务
历史轨迹,10张act_hi_procinst、act_hi_taskinst、act_hi_actinst、act_hi_varinst、act_hi_detail、act_hi_comment、act_hi_attachment、act_hi_identitylink、act_hi_entitylink、act_hi_tsk_log流程/任务/活动历史、变量/细节、意见、附件、身份/实体关系和任务日志;HistoryService供查询,部分数据由引擎策略决定是否产生
引擎身份,9张act_id_user、act_id_group、act_id_membership、act_id_info、act_id_token、act_id_priv、act_id_priv_mapping、act_id_property、act_id_bytearrayFlowable身份子系统;当前业务候选人还使用system API及bpm_user_group,没有证明此组表是管理后台用户主库
Event Registry,6张flw_channel_definition、flw_event_definition、flw_event_deployment、flw_event_resource、flw_ev_databasechangelog、flw_ev_databasechangeloglock通道/事件定义、部署、资源及Liquibase变更记录/锁;存在DDL不代表已配置业务事件注册
引擎批处理,2张flw_ru_batch、flw_ru_batch_part批量操作与分片执行元信息;不是业务导出任务表

官方对运行表、历史表和作业表的分类说明可用于理解框架语义;本次具体表名与是否存在则按快照判定。Flowable数据库结构说明

Event Registry官方资料说明其部署、资源和Liquibase管理表的用途;本库实际变更记录表名称使用flw_ev_,文档保留实测名称。Flowable Event Registry数据库配置

物理外键与逻辑关系​

本库46项外键均属于框架表。下面是直接从information_schema快照核对的代表关系;完整46项以附录为准。

实测外键说明
act_re_model.DEPLOYMENT_ID_ → act_re_deployment.ID_模型关联部署
act_re_model.EDITOR_SOURCE_VALUE_ID_/EDITOR_SOURCE_EXTRA_VALUE_ID_ → act_ge_bytearray.ID_模型编辑资源
act_ge_bytearray.DEPLOYMENT_ID_ → act_re_deployment.ID_部署资源所属关系
act_procdef_info.PROC_DEF_ID_ → act_re_procdef.ID_引擎定义附加信息指向定义
act_ru_execution.PROC_DEF_ID_ → act_re_procdef.ID_执行实例采用的定义
act_ru_execution.PARENT_ID_/PROC_INST_ID_/SUPER_EXEC_ → act_ru_execution.ID_执行树及子流程关系
act_ru_task.EXECUTION_ID_/PROC_INST_ID_ → act_ru_execution.ID_待办所处执行位置/实例
act_ru_task.PROC_DEF_ID_ → act_re_procdef.ID_待办所属定义
act_ru_variable.EXECUTION_ID_/PROC_INST_ID_ → act_ru_execution.ID_运行变量上下文;二进制值另关联bytearray
act_id_membership.USER_ID_/GROUP_ID_ → act_id_user/act_id_group.ID_引擎身份成员关系
flw_ru_batch_part.BATCH_ID_ → flw_ru_batch.ID_批处理分片属于批任务

bpm_process_definition_info.process_definition_id、抄送的流程/任务ID、OA单据的流程ID,以及业务business_key在本次DDL中都没有外键,不应在图中标为物理强约束。

生命周期及维护边界​

运行表用于当前执行,历史表承接历史查询;流程结束后只查运行表会遗漏已经完成的业务。源码使用history-level: audit,不应沿用相邻注释中关于full级别“保存全部细节”的说法。项目包含历史删除API与UpdateHiTaskInstCmd修改历史实体的能力,因此历史不等同无法变更的审计账本。

源码默认允许引擎启动时维护表结构,但本次没有启动引擎。数据库中引擎表的存在不能推断本次运行了初始化或版本迁移,也不能直接使用最新框架DDL替换当前7.0.1依赖对应的结构。

证据:ik_project/yudao-cloud/yudao-dependencies/pom.xml:57、BPM模块src/main/resources/application.yaml:75;Java根下framework/flowable/config/BpmFlowableConfiguration.java:58、service/definition/BpmProcessDefinitionServiceImpl.java:120、service/task/BpmProcessInstanceServiceImpl.java:994、dal/dataobject/cmd/UpdateHiTaskInstCmd.java:17。框架命令类不是额外实体表,未计入9个业务DO。

用户文档
AI 助手
Agent 列表
请选择一个 Agent 开始对话
AI 问答