Activiti数据库表结构


http://blog.csdn.net/hj7jay/article/details/51302829

http://www.mossle.com/docs/activiti/

CATEGORY_

类型,用户自己对流程模型的分类。

VARCHAR(255)

255

分类

CREATE_TIME_

创建时间

TIMESTAMP

创建时间

LAST_UPDATE_TIME_

最后修改时间

TIMESTAMP

最新修改时间

VERSION_

版本,从1开始。

INT(11)

11

版本

META_INFO_

数据源信息,比如:

{"name":"FTOA_SWGL","revision":1,"description":"丰台财政局OA,收文管理流程"}

VARCHAR(4000)

4000

以json格式保存流程定义的信息

DEPLOYMENT_ID_

部署ID

VARCHAR(64)

64

部署ID

EDITOR_SOURCE_VALUE_ID_

数据库表结构中没有体现。

Java服务(JavaServiceTask)等,在实际流程运行中只不过面向对象不同,用户任务(UserTask)需要有人为参与完成(complete),Java服务需要由系统自动执行(execution)。

图4. 表ACT_RU_TASK

Task是在流程定义中看到的最大单位,每当一个Task完成的时候引擎会把当前的任务移动到历史中,然后插入下一个任务插入到表ACT_RU_TASK中。结合请假流程来说就是让用户点击“完成”按钮提交当前任务是的动作,引擎自动根据任务的顺序流或者排他分支判断走向。

HistoryActivity(历史活动)

图5. 表ACT_HI_ACTINST

 

Activity包含了流程中所有的活动数据,例如开始事件(图5表中的第1条数据)、各种分支(排他分支、并行分支等,图5表中的第2条数据)、以及刚刚提到的Task执行记录(如图5表中的第3、4条数据)。

有些人认为Activity和Task是多对一关系,其实不是,从上图中可以看出来根本没有Task相关的字段。

结合请假流程来说,如Task中提到的当完成流程的时候所有下一步要执行的任务(包括各种分支)都会创建一个Activity记录到数据库中。例如领导审核节点点击“同意”按钮就会流转到人事审批节点,如果“驳回”那就流转到调整请假内容节点,每一次操作的Task背后实际记录更详细的活动(Activity)。