I have a Spring Boot 2 app using Liquibase with an existing DB schema and I am starting to integrate the Flowable engine into the app to manage workflows. After adding flowable-spring-boot-starter to the POM file, the app reports that the app schema has been dropped when trying to run unit tests that depend on the app schema.
How can I configure the flowable database initialization to not drop all tables, but only tables that it has control over? Also, when will the flowable engine start using Liquibase to manage the DB migrations?
Please share application property files.
There are no application properties since it is a Spring Boot 2 app. I’ve tried all possible values for database-schema-update: create-drop, drop-create, true, false in the application yml file and the existing schema is always dropped when our app unit tests start to run. The property setting is being noted by Flowable since I can see it in the debug output stream.
Looking at the Flowable 6.5.0-SNAPSHOT source (liquibase.dropAll() - LiquibaseBasedSchemaManager:90), it appears that all tables are dropped, not just the ACT_* tables. If this is the case, it is a serious design flaw. Only the ACT_* tables should be dropped!
OK, I found the solution. The property spring.liquibase.enabled must be set to true in the app and test yml files.