一、表結構介紹
工作流Activity總共有23張表,總共可以分爲5大類;
ACT_RE_*:RE表示repository,總共有3張表,帶此前綴的表包含的是靜態信息,如:流程定義,流程部署,流程設計模型。
ACT_RU_*:RU表示runtime,總共有6張表,這是運行時的表存儲着流程變量,用戶任務,職責,運行人物信息,運行實例等運行時的數據;
Activiti只存儲實例執行期間的運行時數據,當流程實例結束時,將刪除這些記錄,這就保證了這些運行時的表小且快。
ACT_ID_*:ID表示identity,總共有4張表,如:用戶信息,用戶組,用戶與用戶之間的關係等。
ACT_HI_*:HI表示history,總共有8張表,保存的是一些流程歷史信息,如:歷史流程變量,歷史處理任務,歷史流程執行實例,歷史任務人員處理信息,歷史任務建議,歷史變量變更詳細信息,歷史節點信息等。
ACT_GE_*:GE代表generate,中國有兩張表,主要存儲流程圖信息,變量的生成,如:流程圖的存儲,變量生成。
二、工作流表結構模型
三、工作流表結構數據解析
act_ge_bytearray:流程文件存儲表
字段名 |
類型 |
不能爲空 |
主鍵 |
描述 |
ID_ |
varchar |
是 |
是 |
唯一標誌 |
REV_ |
int |
否 |
否 |
版本號 |
NAME_ |
varchar |
否 |
否 |
部署文件名稱 |
DEPLOYMENT_ID_ |
varchar |
否 |
否 |
部署id |
BYTES_ |
longblob |
否 |
否 |
部署對象二進制文件 |
GENERATED_ |
tinyint |
否 |
否 |
是否引擎生成0用戶,1Activity |
act_ge_bytearray:系統屬性生成表
字段名 |
類型 |
不能爲空 |
主鍵 |
描述 |
NAME_ |
varchar |
是 |
是 |
屬性名稱 |
VALUE_ |
varchar |
否 |
否 |
屬性值 |
REV_ |
int |
否 |
否 |
版本號 |
act_re_deployment:部署信息
字段名 |
類型 |
不能爲空 |
主鍵 |
描述 |
ID_ |
varchar |
是 |
是 |
唯一標誌 |
NAME_ |
varchar |
否 |
否 |
部署名稱 |
CATEGORY_ |
varchar |
否 |
否 |
類別 |
TENANT_ID_ |
varchar |
否 |
否 |
租戶id,面對多用戶 |
DEPLOY_TIME_ |
timestamp |
是 |
否 |
部署時間 |
act_re_procdef:流程定義表
字段名 |
類型 |
不能爲空 |
主鍵 |
描述 |
ID_ |
varchar |
是 |
是 |
唯一標誌 |
REV_ |
int |
否 |
否 |
版本 |
CATEGORY_ |
varchar |
否 |
否 |
類別 |
NAME_ |
varchar |
否 |
否 |
流程名稱 |
KEY_ |
varchar |
是 |
否 |
流程編號(就是id屬性值) |
VERSION_ |
int |
是 |
否 |
流程版本 |
DEPLOYMENT_ID_ |
varchar |
否 |
否 |
部署id |
RESOURCE_NAME_ |
varchar |
否 |
否 |
bpmn資源文件名稱 |
DGRM_RESOURCE_NAME_ |
varchar |
否 |
否 |
圖片資源名稱 |
DESCRIPTION_ |
varchar |
否 |
否 |
描述 |
HAS_START_FORM_KEY_ |
tinyint |
否 |
否 |
Strat節點是否存在formKey |
SUSPENSION_STATE_ |
int |
否 |
否 |
是否掛起 |
TENANT_ID_ |
varchar |
否 |
否 |
租戶id,面對多用戶 |
act_re_model:流程設計模型表
字段名 |
類型 |
不能爲空 |
主鍵 |
描述 |
ID_ |
varchar |
是 |
是 |
唯一標誌 |
REV_ |
int |
否 |
否 |
樂觀鎖 |
NAME_ |
varchar |
否 |
否 |
模型名稱 |
KEY_ |
varchar |
否 |
否 |
模型關鍵字 |
CATEGORY_ |
varchar |
是 |
否 |
類型 |
CREATE_TIME_ |
int |
是 |
否 |
創建時間 |
LAST_UPDATE_TIME_ |
varchar |
否 |
否 |
最後修改時間 |
VERSION_ |
varchar |
否 |
否 |
版本 |
META_INFO_ |
varchar |
否 |
否 |
流程定義信息 |
DEPLOYMENT_ID_ |
varchar |
否 |
否 |
部署id |
EDITOR_SOURCE_VALUE_ID_ |
tinyint |
否 |
否 |
ACT_GE_BYTEARRAY 表中的ID_值 |
EDITOR_SOURCE_EXTRA_VALUE_ID_ |
int |
否 |
否 |
ACT_GE_BYTEARRAY 表中的ID_值 |
TENANT_ID_ |
varchar |
否 |
否 |
租戶id,面對多用戶 |
act_id_user:用戶信息表
字段名 |
類型 |
不能爲空 |
主鍵 |
描述 |
ID_ |
varchar |
是 |
是 |
唯一標誌 |
REV_ |
int |
否 |
否 |
版本號 |
FIRST_ |
varchar |
否 |
否 |
用戶名稱 |
LAST_ |
varchar |
否 |
否 |
用戶姓氏 |
EMAIL_ |
varchar |
否 |
否 |
郵箱 |
PWD_ |
varchar |
否 |
否 |
密碼 |
PICTURE_ID_ |
varchar |
否 |
否 |
頭像id |
act_id_group:用戶組信息表
字段名 |
類型 |
不能爲空 |
主鍵 |
描述 |
ID_ |
varchar |
是 |
是 |
唯一標誌 |
REV_ |
int |
否 |
否 |
版本號 |
NAME_ |
varchar |
否 |
否 |
用戶組名稱 |
TYPE_ |
varchar |
否 |
否 |
用戶組類型 |
act_id_membership:用戶與用戶組信息關係表
字段名 |
類型 |
不能爲空 |
主鍵 |
描述 |
USER_ID_ |
varchar |
是 |
是 |
用戶id |
GROUP_ID_ |
varchar |
是 |
是 |
用戶組id |
act_id_info:用戶擴展信息表
字段名 |
類型 |
不能爲空 |
主鍵 |
描述 |
ID_ |
varchar |
是 |
是 |
唯一標誌 |
REV_ |
int |
否 |
否 |
版本號 |
USER_ID_ |
varchar |
否 |
否 |
用戶id |
TYPE_ |
varchar |
否 |
否 |
用戶類型 |
KEY_ |
varchar |
否 |
否 |
formINPut名稱 |
VALUE_ |
varchar |
否 |
否 |
值 |
PASSWORD_ |
longblob |
否 |
否 |
密碼 |
PARENT_ID_ |
varchar |
否 |
否 |
父節點id |
act_ru_variable:運行時流程變量表
字段名 |
類型 |
不能爲空 |
主鍵 |
描述 |
ID_ |
varchar |
是 |
是 |
唯一標誌 |
REV_ |
int |
否 |
否 |
版本號 |
TYPE_ |
varchar |
是 |
否 |
數據類型 |
NAME_ |
varchar |
是 |
否 |
變量名稱 |
EXECUTION_ID_ |
varchar |
否 |
否 |
執行實例id |
PROC_INST_ID_ |
varchar |
否 |
否 |
流程實例id |
TASK_ID_ |
varchar |
否 |
否 |
任務id |
BYTEARRAY_ID_ |
varchar |
否 |
否 |
字節表id |
DOUBLE_ |
double |
否 |
否 |
Double類型存儲 |
LONG_ |
bigint |
否 |
否 |
Long類型存儲 |
TEXT_ |
varchar |
否 |
否 |
String類型存儲 |
TEXT2_ |
varchar |
否 |
否 |
序列化對象存儲 |
act_ru_task:運行時流程任務表
字段名 |
類型 |
不能爲空 |
主鍵 |
描述 |
ID_ |
varchar |
是 |
是 |
唯一標誌 |
REV_ |
int |
否 |
否 |
版本號 |
EXECUTION_ID_ |
varchar |
否 |
否 |
執行實例id |
PROC_INST_ID_ |
varchar |
否 |
否 |
流程實例id |
PROC_DEF_ID_ |
varchar |
否 |
否 |
流程定義id |
NAME_ |
varchar |
否 |
否 |
任務名 |
PARENT_TASK_ID_ |
varchar |
否 |
否 |
父任務id |
DESCRIPTION_ |
varchar |
否 |
否 |
描述 |
TASK_DEF_KEY_ |
varchar |
否 |
否 |
任務定義key |
OWNER_ |
varchar |
否 |
否 |
所屬人 |
ASSIGNEE_ |
varchar |
否 |
否 |
處理人 |
DELEGATION_ |
varchar |
否 |
否 |
委託類型 |
PRIORITY_ |
int |
否 |
否 |
優先級別 |
CREATE_TIME_ |
timestamp |
否 |
否 |
創建時間 |
DUE_DATE_ |
datetime |
否 |
否 |
耗時 |
CATEGORY_ |
varchar |
否 |
否 |
類別 |
SUSPENSION_STATE_ |
int |
否 |
否 |
掛起狀態 |
TENANT_ID_ |
varchar |
否 |
否 |
租戶id,面對多用戶 |
act_ru_job:運行時定時任務數據表
字段名 |
類型 |
不能爲空 |
主鍵 |
描述 |
ID_ |
varchar |
是 |
是 |
唯一標誌 |
REV_ |
int |
否 |
否 |
版本號 |
TYPE_ |
varchar |
否 |
否 |
類型 |
LOCK_EXP_TIME_ |
timestamp |
否 |
否 |
鎖定釋放時間 |
LOCK_OWNER_ |
varchar |
否 |
否 |
掛起者 |
EXCLUSIVE_ |
tinyint |
否 |
否 |
獨佔 |
EXECUTION_ID_ |
varchar |
否 |
否 |
執行實例id |
PROCESS_INSTANCE_ID_ |
varchar |
否 |
否 |
流程實例id |
PROC_DEF_ID_ |
varchar |
否 |
否 |
流程定義id |
RETRIES_ |
int |
否 |
否 |
重試 |
EXCEPTION_STACK_ID_ |
varchar |
否 |
否 |
異常信息id |
EXCEPTION_MSG_ |
varchar |
否 |
否 |
異常信息 |
DUEDATE_ |
timestamp |
否 |
否 |
到期時間 |
REPEAT_ |
varchar |
否 |
否 |
重複 |
HANDLER_TYPE_ |
varchar |
否 |
否 |
處理類型 |
HANDLER_CFG_ |
varchar |
否 |
否 |
處理標誌 |
TENANT_ID_ |
varchar |
否 |
否 |
租戶id,面對多用戶 |
act_ru_identitylink:運行時任務參與者信息表
字段名 |
類型 |
不能爲空 |
主鍵 |
描述 |
ID_ |
varchar |
是 |
是 |
唯一標誌 |
REV_ |
int |
否 |
否 |
版本號 |
GROUP_ID_ |
varchar |
是 |
否 |
用戶組id |
TYPE_ |
varchar |
是 |
否 |
類型 |
USER_ID_ |
varchar |
否 |
否 |
用戶id |
TASK_ID_ |
varchar |
否 |
否 |
任務id |
PROC_INST_ID_ |
varchar |
否 |
否 |
流程實例id |
PROC_DEF_ID_ |
varchar |
否 |
否 |
流程定義id |
act_ru_execution:運行時執行實例表
字段名 |
類型 |
不能爲空 |
主鍵 |
描述 |
ID_ |
varchar |
是 |
是 |
唯一標誌 |
REV_ |
int |
否 |
否 |
版本號 |
PROC_INST_ID_ |
varchar |
否 |
否 |
流程實例id |
BUSINESS_KEY_ |
varchar |
否 |
否 |
業務id |
PARENT_ID_ |
varchar |
否 |
否 |
父節點執行id |
PROC_DEF_ID_ |
varchar |
否 |
否 |
流程定義id |
SUPER_EXEC_ |
varchar |
否 |
否 |
引用的執行模板 |
ACT_ID_ |
varchar |
否 |
否 |
節點id |
IS_ACTIVE_ |
tinyint |
否 |
否 |
是否激活 |
IS_CONCURRENT_ |
tinyint |
否 |
否 |
是否並行 |
IS_SCOPE_ |
tinyint |
否 |
否 |
|
IS_EVENT_SCOPE_ |
tinyint |
否 |
否 |
|
SUSPENSION_STATE_ |
int |
否 |
否 |
掛起狀態 |
CACHED_ENT_STATE_ |
int |
否 |
否 |
緩存結束狀態 |
TENANT_ID_ |
varchar |
否 |
否 |
租戶id,面對多用戶 |
act_ru_event_subscr:運行時事件
字段名 |
類型 |
不能爲空 |
主鍵 |
描述 |
ID_ |
varchar |
是 |
是 |
唯一標誌 |
REV_ |
int |
否 |
否 |
版本號 |
EVENT_TYPE_ |
varchar |
否 |
否 |
事件類型 |
EVENT_NAME_ |
varchar |
否 |
否 |
事件名稱 |
EXECUTION_ID_ |
varchar |
否 |
否 |
執行實例id |
PROC_INST_ID_ |
varchar |
否 |
否 |
流程實例id |
ACTIVITY_ID_ |
varchar |
否 |
否 |
活動id |
CONFIGURATION_ |
varchar |
否 |
否 |
配置信息 |
CREATED_ |
timestamp |
否 |
否 |
創建時間 |
PROC_DEF_ID_ |
varchar |
否 |
否 |
流程定義id |
TENANT_ID_ |
varchar |
否 |
否 |
租戶id,面對多用戶 |
act_hi_varinst:歷史流程變量表
字段名 |
類型 |
不能爲空 |
主鍵 |
描述 |
ID_ |
varchar |
是 |
是 |
唯一標誌 |
PROC_INST_ID_ |
varchar |
否 |
否 |
流程實例id |
EXECUTION_ID_ |
varchar |
否 |
否 |
執行實例id |
TASK_ID_ |
varchar |
否 |
否 |
任務id |
NAME_ |
varchar |
否 |
否 |
變量名 |
VAR_TYPE_ |
varchar |
否 |
否 |
變量類型 |
REV_ |
int |
否 |
否 |
版本 |
BYTEARRAY_ID_ |
varchar |
否 |
否 |
字節碼id |
DOUBLE_ |
double |
否 |
否 |
Double類型存儲 |
LONG_ |
bigint |
否 |
否 |
Long類型存儲 |
TEXT_ |
varchar |
否 |
否 |
String類型存儲 |
TEXT2_ |
varchar |
否 |
否 |
序列化對象存儲 |
CREATE_TIME_ |
datetime |
否 |
否 |
創建時間 |
LAST_UPDATED_TIME_ |
datetime |
否 |
否 |
最後修改時間 |
act_hi_taskinst: 歷史任務表
字段名 |
類型 |
不能爲空 |
主鍵 |
描述 |
ID_ |
varchar |
是 |
是 |
唯一標誌 |
PROC_DEF_ID_ |
varchar |
否 |
否 |
流程定義id |
TASK_DEF_KEY_ |
varchar |
否 |
否 |
任務定義key |
PROC_INST_ID_ |
varchar |
否 |
否 |
流程實例id |
EXECUTION_ID_ |
varchar |
否 |
否 |
流程執行id |
NAME_ |
varchar |
否 |
否 |
任務名 |
PARENT_TASK_ID_ |
varchar |
否 |
否 |
父節點id |
DESCRIPTION_ |
varchar |
否 |
否 |
描述 |
OWNER_ |
varchar |
否 |
否 |
歸屬者 |
ASSIGNEE_ |
varchar |
否 |
否 |
任務辦理人 |
START_TIME_ |
datetime |
是 |
否 |
開始時間 |
CLAIM_TIME_ |
datetime |
否 |
否 |
提醒時間 |
END_TIME_ |
datetime |
否 |
否 |
結束時間 |
DURATION_ |
bigint |
否 |
否 |
耗時 |
DELETE_REASON_ |
varchar |
否 |
否 |
刪除原因 |
PRIORITY_ |
int |
否 |
否 |
優先級 |
DUE_DATE_ |
datetime |
否 |
否 |
過期時間 |
FORM_KEY_ |
varchar |
否 |
否 |
Form_key |
CATEGORY_ |
varchar |
否 |
否 |
分類 |
TENANT_ID_ |
varchar |
否 |
否 |
最後修改時間 |
act_hi_procinst:歷史流程實例表
字段名 |
類型 |
不能爲空 |
主鍵 |
描述 |
ID_ |
varchar |
是 |
是 |
唯一標誌 |
PROC_INST_ID_ |
varchar |
否 |
否 |
流程實例id |
BUSINESS_KEY_ |
varchar |
否 |
否 |
業務key |
PROC_DEF_ID_ |
varchar |
否 |
否 |
流程定義id |
START_TIME_ |
datetime |
否 |
否 |
開始時間 |
END_TIME_ |
datetime |
否 |
否 |
結束時間 |
DURATION_ |
bigint |
否 |
否 |
耗時 |
START_USER_ID_ |
varchar |
否 |
否 |
啓動者id |
START_ACT_ID_ |
varchar |
否 |
否 |
開始節點 |
END_ACT_ID_ |
varchar |
否 |
否 |
結束節點 |
SUPER_PROCESS_INSTANCE_ID_ |
varchar |
否 |
否 |
父級流程實例id |
DELETE_REASON_ |
varchar |
否 |
否 |
刪除原因 |
TENANT_ID_ |
varchar |
否 |
否 |
租戶id,面對多用戶 |
act_hi_identitylink:歷史任務參與者信息表
字段名 |
類型 |
不能爲空 |
主鍵 |
描述 |
ID_ |
varchar |
是 |
是 |
唯一標誌 |
GROUP_ID_ |
varchar |
否 |
否 |
用戶組id |
TYPE_ |
varchar |
否 |
否 |
類型 |
USER_ID_ |
varchar |
否 |
否 |
用戶id |
TASK_ID_ |
varchar |
否 |
否 |
任務id |
PROC_INST_ID_ |
varchar |
否 |
否 |
流程實例id |
act_hi_detail: 歷史流程變量轉化詳細信息表
字段名 |
類型 |
不能爲空 |
主鍵 |
描述 |
ID_ |
varchar |
是 |
是 |
唯一標誌 |
TYPE_ |
varchar |
否 |
否 |
數據操作類型 |
PROC_INST_ID_ |
varchar |
否 |
否 |
流程實例id |
EXECUTION_ID_ |
varchar |
否 |
否 |
執行實例id |
TASK_ID_ |
varchar |
否 |
否 |
任務id |
ACT_INST_ID_ |
varchar |
否 |
否 |
ACT_HI_ACTINST表的ID |
NAME_ |
varchar |
是 |
否 |
變量名 |
VAR_TYPE_ |
varchar |
否 |
否 |
變量類型 |
REV_ |
int |
否 |
否 |
版本 |
TIME_ |
datetime |
是 |
否 |
時間 |
BYTEARRAY_ID_ |
varchar |
否 |
否 |
生成id |
DOUBLE_ |
double |
否 |
否 |
Double類型存儲 |
LONG_ |
bigint |
否 |
否 |
Long類型存儲 |
TEXT_ |
varchar |
否 |
否 |
String類型存儲 |
TEXT2_ |
varchar |
否 |
否 |
序列化對象存儲 |
act_hi_comment:歷史任務建議表
字段名 |
類型 |
不能爲空 |
主鍵 |
描述 |
ID_ |
varchar |
是 |
是 |
唯一標誌 |
TYPE_ |
varchar |
否 |
否 |
建議類型 |
TIME_ |
datetime |
否 |
否 |
時間 |
USER_ID_ |
varchar |
否 |
否 |
用戶id |
TASK_ID_ |
varchar |
否 |
否 |
任務id |
PROC_INST_ID_ |
varchar |
否 |
否 |
流程實例id |
ACTION_ |
varchar |
否 |
否 |
行爲 |
MESSAGE_ |
varchar |
否 |
否 |
處理意見 |
FULL_MSG_ |
longblob |
否 |
否 |
全部消息 |
act_hi_attachment:歷史附件信息表
字段名 |
類型 |
不能爲空 |
主鍵 |
描述 |
ID_ |
varchar |
是 |
是 |
唯一標誌 |
REV_ |
varchar |
否 |
否 |
版本 |
USER_ID_ |
varchar |
否 |
否 |
用戶id |
NAME_ |
varchar |
否 |
否 |
名稱 |
DESCRIPTION_ |
datetime |
否 |
否 |
描述 |
TYPE_ |
datetime |
否 |
否 |
類型 |
TASK_ID_ |
bigint |
否 |
否 |
任務id |
PROC_INST_ID_ |
varchar |
否 |
否 |
流程實例id |
URL_ |
varchar |
否 |
否 |
鏈接 |
CONTENT_ID_ |
varchar |
否 |
否 |
ACT_GE_BYTEARRAY的ID |
act_hi_actinst:歷史節點表
字段名 |
類型 |
不能爲空 |
主鍵 |
描述 |
ID_ |
varchar |
是 |
是 |
唯一標誌 |
PROC_DEF_ID_ |
varchar |
是 |
否 |
流程定義id |
PROC_INST_ID_ |
varchar |
是 |
否 |
流程實例id |
EXECUTION_ID_ |
varchar |
是 |
否 |
執行實例id |
ACT_ID_ |
varchar |
是 |
否 |
活動id |
TASK_ID_ |
varchar |
否 |
否 |
任務id |
CALL_PROC_INST_ID_ |
varchar |
否 |
否 |
調用外部流程的流程實例id |
ACT_NAME_ |
varchar |
否 |
否 |
節點名稱 |
ACT_TYPE_ |
varchar |
是 |
否 |
節點類型 |
ASSIGNEE_ |
varchar |
否 |
否 |
節點處理人 |
START_TIME_ |
datetime |
是 |
否 |
開始時間 |
END_TIME_ |
datetime |
否 |
否 |
結束時間 |
DURATION_ |
bigint |
否 |
否 |
耗時 |
TENANT_ID_ |
varchar |
否 |
否 |
租戶id,面對多用戶 |
四、工作流表結構總結
在實際開發中,我們使用的工作流常用的工作流的表結構信息沒有那麼多。
1.一般來說工作流在我們開發中只是充當一種工具,具體的業務邏輯還是得由自己系統實現,用戶信息也當然是自己的系統中的,所以說有關於act_id_*類型的表結構一般會很少用。
2.流程圖的構建和部署,在實際開發中我們使用的流程圖構建工具基本上與開發工具配套,比如IDEA使用插件來繪畫流程圖,在進行流程圖部署的時候act_re_model就不會有數據,並非使用引擎。
3.act_ru_*類型的表使用頻率比較高,基本上全部使用到了。
4.act_hi_*類型的表使用頻率比較高,因爲我們在流程結束的時候還需要展示用戶處理後的任務,建議,流程變量,流程實例等信息。
5.act_ge_*類型的在剛部署的時候和流程變量生成的時候會使用到,整體與業務沒有什麼關係。
綜上所訴:act_hi_*類型,act_ru_*類型與業務密切相關,重點關注。