目錄
【原文地址:http://craft6.cn/detail/activiti_research_database.do】
一、ACTIVITI 數據庫 E-R圖(5.16.4)
Activiti 5.16.4 總共有24張表,增加act_evt_log(事件日誌),以及增加了對SasS【CSS擴展語言】的支持。在流程定義、運行實例和歷史的多張表增加 TENANT_ID_ (租戶ID)字段。爲方便對ACTIVITI數據庫設計有整體性的理解,根據其數據表製作了E-R圖【實體-聯繫圖(Entity Relationship Diagram)】。
(圖片比較大,可以右鍵複製圖片網址,在獨立的標籤頁打開查看)
ACTIVITI的數據表命名非常規範,在Activiti的幫助文檔中也有說明,可查看5.16版本的中文用戶手冊:
http://www.mossle.com/docs/activiti/
Activiti的表都以ACT_開頭。 第二部分是表示表的用途的兩個字母標識。 用途也和服務的API對應。
- ACT_RE_*: 'RE'表示
repository
, 這個前綴的表包含了流程定義和流程靜態資源 (圖片,規則,等等)。 - ACT_RU_*: 'RU'表示
runtime
,這些運行時的表,包含流程實例,任務,變量,異步任務,等運行中的數據。 Activiti只在流程實例執行過程中保存這些數據, 在流程結束時就會刪除這些記錄。 這樣運行時表可以一直很小速度很快。 - ACT_ID_*: 'ID'表示
identity
,這些表包含身份信息,比如用戶,組等等。 - ACT_HI_*: 'HI'表示
history
, 這些表包含歷史數據,比如歷史流程實例, 變量,任務等等。 - ACT_GE_*: 通用數據, 用於不同場景下。
- ACT_EVT_*: EVT表示EVENT,目前只有一張表ACT_EVT_LOG,存儲事件處理日誌,方便管理員跟蹤處理。
二、ACTIVITI 數據庫 物理圖整體(5.16.4)
三、ACTIVITI 數據庫 流程定義部分(三張表)
四、ACTIVITI 數據庫 流程實例部分(七張表)
五、ACTIVITI 數據庫 流程全局設置部分(兩張表)
六、ACTIVITI 數據庫 流程歷史部分(八張表)
六、ACTIVITI 數據庫 流程參與者部分(四張表)
七、重點字段說明
ACTIVITI的表的字段重複率比較高,一般弄清楚幾張表後,其它的都差不多。
## 公共字段:
- REV_ :樂觀鎖版本,ACT的表大多有這個字段,這是爲了保證操作的獨佔性。當多個用戶修改同一條記錄時,他們獲取的REV_是一樣的,但是其中一個用戶保存了,這是REV_就改變了,然後其他用戶保存就會因爲REV_已經過期不能修改了。
- PROC_DEF_ID_:流程定義 ID
- PROC_INST_ID_:流程實例 ID
- TASK_ID_:節點實例 ID(或稱任務實例 ID)
- EXECUTION_ID_:執行實例 ID。
- TASK 和 EXECUTION 的 區別:TASK 待辦任務;EXECUTION 執行路線。每個TASK 總會對應一個EXECUTION,但EXECUTION不一定對應一個TASK,EXECUTION是分支的執行路線。
- ACT_ID_ :節點 ID(即bpmn.xml中對節點的命名,如userTask1)
- TENANT_ID_:租戶 ID,對SaaS平臺的數據支持。
- FORM_KEY_:表單業務鍵,表示該流程實例、任務實例 關聯的表單。
- OWNER_ :任務的所有者
- ASSIGNEE_ :任務的簽收人、代理人、受託人等。
## 指定表的特殊字段:
- ACT_HI_COMMENT.TYPE_(類型):行爲類型。值爲下列內容中的一種:AddUserLink、DeleteUserLink、AddGroupLink、DeleteGroupLink、AddComment、AddAttachment、DeleteAttachment
- ACT_HI_DETAIL.TYPE_ (類型) FormProperty, //專門存儲表單變量
- ACT_HI_VARINST.TYPE_(類型)VariableUpdate //專門存儲流程變量參數
- 多張表的VAR_TYPE_ 數據類型 jpa-entity、boolean、bytes、serializable(可序列化)、自定義type(根據你自身配置)、CustomVariableType、date、double、integer、long、null、short、string
- ACT_RU_IDENTITYLINK.TYPE_ (參與者類型) assignee 、 candidate 、 owner 、starter 、participant
- ACT_RU_TASK.DELEGATION_ (委託類型)PENDING,RESOLVED。如無委託則爲空