Flowable 6.8.0在Oracle的手动建表与配置

需积分: 5 2 下载量 199 浏览量 更新于2024-08-03 收藏 85KB TXT 举报
本文主要介绍了如何在Oracle数据库中手动创建Flowable工作流框架所需的表结构,以解决自动更新表结构时可能出现的错误。Flowable版本为6.8.0.0,使用的数据库是Oracle。在执行手动建表之前,需要进行一些预处理步骤,包括创建特定的schema、删除已有的Flowable相关表以及调整Flowable的配置。 在Oracle数据库中,首先要创建一个名为WORKFLOW的schema,或者将脚本中的schema替换为你实际的schema名称。然后,你需要删除所有与Flowable相关的表,以防止在执行建表脚本时出现冲突或错误。这是确保脚本顺利执行的关键步骤。 接下来,我们需要创建Flowable核心表。以下是两个示例表格的创建语句: 1. `ACT_GE_PROPERTY` 表用于存储Flowable的通用属性,如数据库版本信息。它有四列:NAME_(主键,64个字符的NVARCHAR2类型),VALUE_(300个字符的NVARCHAR2类型),REV_(整数类型),以及一个主键约束。 ```sql CREATE TABLE WORKFLOW.ACT_GE_PROPERTY ( NAME_ NVARCHAR2(64), VALUE_ NVARCHAR2(300), REV_ INTEGER, PRIMARY KEY (NAME_) ); ``` 2. `ACT_GE_BYTEARRAY` 表用于存储二进制数据,如流程图或变量。它有七列:ID_(主键,64个字符的NVARCHAR2类型),REV_(整数类型),NAME_(255个字符的NVARCHAR2类型),DEPLOYMENT_ID_(64个字符的NVARCHAR2类型),BYTES_(BLOB类型),GENERATED_(一个0或1的NUMBER类型,表示是否自动生成),以及一个主键约束。 ```sql CREATE TABLE WORKFLOW.ACT_GE_BYTEARRAY ( ID_ NVARCHAR2(64), REV_ INTEGER, NAME_ NVARCHAR2(255), DEPLOYMENT_ID_ NVARCHAR2(64), BYTES_ BLOB, GENERATED_ NUMBER(1,0) CHECK (GENERATED_ IN (1,0)), PRIMARY KEY (ID_) ); ``` 为了确保Flowable不再自动更新数据库表结构,需要修改Flowable的配置。在应用的配置文件中,将`flowable.database-schema-update`设置为`false`,这将禁止Flowable在启动时尝试自动更新或创建表。完成这些设置后,你应该能够成功启动项目。 此外,脚本中还包含了向`ACT_GE_PROPERTY`表插入初始值的语句,以设定当前的数据库版本和下一个数据库ID: ```sql INSERT INTO WORKFLOW.ACT_GE_PROPERTY VALUES ('common.schema.version', '6.8.0.0', 1); INSERT INTO WORKFLOW.ACT_GE_PROPERTY VALUES ('next.dbid', '1', 1); ``` 最后,创建其他如`ACT_RU_ENTITYLINK`等表的步骤虽然没有在摘要中完整给出,但它们同样重要,因为Flowable工作流框架需要这些表来存储运行时的数据,例如实体关联、任务、事件订阅等。这些表的创建应遵循类似上述的模式,根据Flowable的官方文档或源代码来编写相应的SQL语句。 手动创建和管理Flowable的Oracle数据库表结构是一种确保数据安全、控制数据库变更的有效方式,特别是在有特定需求或遇到自动更新问题时。正确执行上述步骤,可以确保Flowable在你的环境中稳定运行。