Flowable 数据库表结构说明、Flowable 数据字典说明

Flowable数据库表结构与命名规范解析

一、Flowable数据库表命名规则

ACT_RE_* : ’RE’表示repository(存储)。RepositoryService接口操作的表。带此前缀的表包含的是静态信息,如,流程定义,流程的资源(图片,规则等)。

ACT_RU_* : ’RU’表示runtime。RuntimeService、TaskService等接口操作的表。这是运行时的表存储着流程变量,用户任务,变量,职责(job)等运行时的数据。flowable只存储实例执行期间的运行时数据,当流程实例结束时,将删除这些记录。这就保证了这些运行时的表小且快。

ACT_ID_* : ’ID’表示identity(组织机构)。IdentityService接口操作的表。这些表包含标识的信息,如用户,用户组,等等。

ACT_HI_* : ’HI’表示history。HistoryService接口操作的表。就是这些表包含着历史的相关数据,如结束的流程实例,变量,任务,等等。

ACT_GE_* : 普通数据,各种情况都使用的数据。

二、数据库表结构(40张表,不同版本数量可能会有出入)

1.一般数据(2)

在这里插入图片描述

2.历史流程数据表(10)

在这里插入图片描述

3.用户用户组表 /身份数据表(9)

在这里插入图片描述

4.流程与业务关联表(2)

在这里插入图片描述

5.流程定义表(3)

在这里插入图片描述

6.运行实例表/运行时流程数据表(12)

在这里插入图片描述

7.其他表(2)

在这里插入图片描述

三、数据表详细说明

1. ACT_GE_BYTEARRAY资源表

在这里插入图片描述

2. ACT_GE_PROPERTY属性表

在这里插入图片描述

3. ACT_RE_DEPLOYMENT部署数据表

在这里插入图片描述

4. ACT_RE_PROCDEF流程定义表

在这里插入图片描述

5. ACT_ID_USER用户表

在这里插入图片描述

6. ACT_ID_INFO用户信息表

在这里插入图片描述

7. ACT_ID_GROUP用户组表

在这里插入图片描述

8. ACT_ID_MEMBERSHIP关系表

在这里插入图片描述

9. ACT_RU_EXECUTION流程实例(执行流)表

在这里插入图片描述

10. ACT_RU_TASK流程任务表

在这里插入图片描述

11. ACT_RU_VARIABLE流程参数表

在这里插入图片描述

12. ACT_RU_IDENTITYLINK流程身份关系表

在这里插入图片描述

13. ACT_RU_JOB工作数据表(一般工作表)

在这里插入图片描述

14. ACT_RU_DEADLETTER_JOB工作数据表(无法执行工作表)

在这里插入图片描述

15. ACT_RU_SUSPENDED_JOB工作数据表(暂停工作表)

在这里插入图片描述

16. ACT_RU_TIMER_JOB工作数据表(定时工作表)

在这里插入图片描述

17. ACT_RU_EVENT_SUBSCR时间描述表

在这里插入图片描述

18. ACT_HI_PROCINST流程实例表

在这里插入图片描述

19. ACT_HI_DETAIL流程明细表

在这里插入图片描述

20. ACT_HI_TASKINST历史任务表

在这里插入图片描述

21. ACT_HI_ACTINST历史行为表

在这里插入图片描述

22. ACT_HI_ATTACHMENT附件表

在这里插入图片描述

23. ACT_HI_COMMENT评论表

在这里插入图片描述

24. ACT_RE_MODEL流程设计模型部署表

在这里插入图片描述

25. ACT_EVT_LOG事件日志表

在这里插入图片描述

26. ACT_PROCDEF_INFO

在这里插入图片描述

27. ACT_HI_VARINST历史变量表历史变量表

在这里插入图片描述

28. ACT_HI_IDENTITYLINK历史流程人员表

在这里插入图片描述

29.ACT_PRIN_RELATION 流程与业务关联表

在这里插入图片描述

30.ACT_PRIN_RELATION_HIS 流程与业务关联历史表

在这里插入图片描述

<think>我们正在使用Spring Boot 1.5.13.RELEASE集成Flowable 6.3.0,并需要配置自动创建Oracle 12c数据库表,同时设置表名前缀为AMS_。 步骤如下: 1. 添加依赖:在pom.xml中添加Flowable相关的依赖。 2. 配置数据库连接:在application.properties(或application.yml)中配置Oracle数据库连接。 3. 配置Flowable:设置数据库表自动创建策略,并指定表名前缀。 4. 注意:由于Flowable 6.3.0和Spring Boot 1.5.13的兼容性,我们可能需要调整一些配置。 具体步骤: 第一步:添加依赖 在pom.xml中添加以下依赖: ```xml <properties> <flowable.version>6.3.0</flowable.version> </properties> <dependencies> <!-- Flowable 流程引擎 --> <dependency> <groupId>org.flowable</groupId> <artifactId>flowable-spring-boot-starter</artifactId> <version>${flowable.version}</version> </dependency> <!-- Oracle JDBC驱动 --> <dependency> <groupId>com.oracle.jdbc</groupId> <artifactId>ojdbc8</artifactId> <version>12.2.0.1</version> <!-- 请根据实际使用的Oracle版本调整 --> </dependency> </dependencies> ``` 第二步:配置数据库连接和Flowable属性 在application.properties中配置: ```properties # 数据源配置 spring.datasource.url=jdbc:oracle:thin:@//localhost:1521/ORCLCDB spring.datasource.username=your_username spring.datasource.password=your_password spring.datasource.driver-class-name=oracle.jdbc.OracleDriver # Flowable配置 # 自动创建、更新表结构 flowable.database-schema-update=true # 设置表名前缀 flowable.database-table-prefix=AMS_ # 指定数据库类型为Oracle flowable.database-type=oracle ``` 注意:在Flowable 6.3.0中,配置前缀是`flowable`,而不是`spring.flowable`。 第三步:解决可能的问题 由于Spring Boot 1.5.x较旧,可能需要注意以下问题: - 检查依赖冲突:特别是Spring框架的版本,Flowable 6.3.0需要Spring 5.x,而Spring Boot 1.5.x使用的是Spring 4.3.x。这可能会导致版本不兼容。 因此,我们可能需要排除Flowable Starter中自带的Spring 5依赖,或者升级Spring Boot版本。但考虑到项目约束,我们尝试在Spring Boot 1.5.x中使用Flowable 6.3.0。 替代方案:如果不兼容,我们可以考虑不使用`flowable-spring-boot-starter`,而是手动配置Flowable引擎。但这里我们先尝试使用starter。 如果遇到版本冲突,可以尝试排除一些模块,然后引入适配的版本。但请注意,这可能需要大量调试。 另外,Flowable 6.3.0对于Oracle 12c的支持是良好的,但需要确保使用正确的JDBC驱动。 如果启动时遇到表创建失败,请检查: - 数据库连接是否正确 - 用户是否有创建表的权限 - 表名前缀配置是否生效(可以通过查看生成的表名来确认) 如果上述配置后,表名前缀没有生效,可以尝试通过自定义配置类来设置。因为Flowable的自动配置可能不会在Spring Boot 1.5中完全适配。 自定义配置类(可选): 如果发现表前缀没有生效,我们可以通过创建一个配置类,手动设置流程引擎配置: ```java @Configuration public class FlowableConfig { @Autowired private DataSource dataSource; @Bean public SpringProcessEngineConfiguration processEngineConfiguration() { SpringProcessEngineConfiguration config = new SpringProcessEngineConfiguration(); config.setDataSource(dataSource); config.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE); config.setDatabaseTablePrefix("AMS_"); config.setDatabaseType("oracle"); // 其他配置... return config; } @Bean public ProcessEngineFactoryBean processEngine() { ProcessEngineFactoryBean factoryBean = new ProcessEngineFactoryBean(); factoryBean.setProcessEngineConfiguration(processEngineConfiguration()); return factoryBean; } } ``` 但是,请注意,如果使用了`flowable-spring-boot-starter`,它已经自动创建了流程引擎,我们可能需要禁用自动配置或者调整配置。因此,如果属性配置不生效,再考虑使用自定义配置。 总结: 1. 添加依赖。 2. 在application.properties中配置数据源和Flowable属性(包括表前缀和自动更新策略)。 3. 如果属性配置不生效,则通过自定义配置类来设置。 启动应用,Flowable应该会自动创建以AMS_为前缀的表。 注意:在Oracle中,表名默认是大写的,因此创建的表名将是如`AMS_ACT_GE_PROPERTY`这样的大写形式。 如果遇到版本不兼容问题(Spring Boot 1.5和Flowable 6.3.0),可能需要升级Spring Boot版本(如升级到2.x)或降低Flowable版本(如使用6.0.x或5.x),但根据要求,我们使用6.3.0。如果必须使用Spring Boot 1.5,可能需要深入解决兼容性问题。 由于兼容性问题可能较复杂,这里提供另一种思路:使用Flowable 6.3.0提供的独立配置方式(不依赖Spring Boot Starter),但这样需要更多的手动配置。 因此,如果使用starter遇到问题,可以尝试手动配置(即不使用starter,而是引入核心依赖,然后通过上述自定义配置类配置)。 手动配置的依赖: ```xml <dependency> <groupId>org.flowable</groupId> <artifactId>flowable-spring</artifactId> <version>6.3.0</version> </dependency> ``` 然后使用上面的自定义配置类。 根据实际情况选择方案。</think>在Spring Boot 1.5.13.RELEASE中集成Flowable 6.3.0并配置Oracle 12c表自动创建及前缀修改,需按以下步骤操作: ### 一、添加Maven依赖 ```xml <properties> <flowable.version>6.3.0</flowable.version> </properties> <dependencies> <!-- Flowable核心 --> <dependency> <groupId>org.flowable</groupId> <artifactId>flowable-spring-boot-starter</artifactId> <version>${flowable.version}</version> </dependency> <!-- Oracle JDBC驱动 --> <dependency> <groupId>com.oracle.database.jdbc</groupId> <artifactId>ojdbc8</artifactId> <version>12.2.0.1</version> <!-- 匹配Oracle 12c --> </dependency> </dependencies> ``` ### 二、配置application.properties ```properties # 数据源配置 spring.datasource.url=jdbc:oracle:thin:@//host:1521/service_name spring.datasource.username=your_username spring.datasource.password=your_password spring.datasource.driver-class-name=oracle.jdbc.OracleDriver # Flowable自动建表配置 flowable.database-schema-update=true # 关键配置:自动创建/更新表 flowable.database-table-prefix=AMS_ # 设置表名前缀 flowable.database-type=oracle # 指定数据库类型 # 解决Oracle方言兼容性问题 spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.Oracle12cDialect ``` ### 三、关键配置说明 1. **表前缀生效原理** Flowable通过`ProcessEngineConfigurationImpl.setDatabaseTablePrefix()`实现前缀修改[^1],配置`flowable.database-table-prefix`后,所有系统表(如`ACT_GE_PROPERTY`)将变为`AMS_ACT_GE_PROPERTY` 2. **自动建表机制** `flowable.database-schema-update=true` 触发以下行为: - 首次启动时创建全部表结构(约60张表) - 后续启动自动执行版本迁移脚本 - 需确保数据库用户有CREATE TABLE权限 3. **Oracle 12c专属配置** 必须显式声明: ```properties flowable.database-type=oracle spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.Oracle12cDialect ``` ### 四、验证配置 启动应用后检查: 1. 控制台输出日志包含: ``` Creating schema: AMS_ACT_GE_PROPERTY Performing create on table with name: AMS_ACT_GE_PROPERTY ``` 2. 查询Oracle数据字典确认表存在: ```sql SELECT TABLE_NAME FROM ALL_TABLES WHERE TABLE_NAME LIKE 'AMS_ACT_%'; ``` ### 五、注意事项 1. **权限要求** Oracle用户需具备`CREATE TABLE`和`CREATE SEQUENCE`权限 2. **索引前缀问题** Flowable 6.3.0不会自动修改索引前缀,需手动处理(索引名仍保持`ACT_IDX_`前缀) 3. **版本兼容性** Spring Boot 1.5.x默认使用Spring 4.3.x,需确保无冲突依赖: ```xml <!-- 排除冲突的Spring核心 --> <dependency> <groupId>org.flowable</groupId> <artifactId>flowable-spring-boot-starter</artifactId> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> </exclusion> </exclusions> </dependency> ``` 4. **表结构位置** 自动创建的DDL脚本位于: ``` flowable-engine-6.3.0.jar!/org/flowable/db/create/flowable.oracle.create.engine.sql ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值