I’m currently studying the upgrade from Activiti 5.22 to Flowable 7.
In our application, we used to embed the engine DDL within our own DDL scripts to create Activiti tables. In Flowable 7, the engine DDL found in the JAR file (under org/flowable/db/create) seems to be missing the creation statements for several tables:
ACT_GE_PROPERTY
ACT_RU_VARIABLE
ACT_GE_BYTEARRAY
ACT_RU_IDENTITYLINK
ACT_RU_TASK
ACT_RU_JOB
ACT_RU_TIMER_JOB
ACT_RU_SUSPENDED_JOB
ACT_RU_DEADLETTER_JOB
ACT_RU_EVENT_SUBSCR
For all these tables, there are either ALTER TABLE or INSERT statements in the engine DDL, but no corresponding CREATE TABLE statements. As a result, the engine DDL doesn’t work as expected.
Am I missing something? How are these tables supposed to be created in a production environment when using the engine scripts?
PS: In the Flowable package (flowable-7.2.0.zip: GitHub Release), there are global scripts (e.g., flowable.postgres.all.create.sql) where the missing creation statements are present.
Thank you for your answer.
I need the scripts to be available in a JAR file, as we embed them using a Maven plugin. The scripts in the common JAR are global (i.e., they include both engine and history tables), which is not ideal since we don’t need the history tables.
If there is no complete engine-only script available in a JAR, we’ll likely need to edit them manually.
Understood, but that’s not consistent with what is stated in the “Configuration” section of the documentation — i.e., that the tables required for engine execution are located in flowable-engine-x.jar/org/flowable/db/create/flowable.{db}.create.engine.sql.