Flowable engine how to use different DB user for DML & separate for DDL at startup


I’m using flowable-spring-boot-starter-process and everything is fine with it. However, there is an issue which I’m trying to sort out as below:

When Springboot app with flowable engine boots up it tries to create the tables (DDL operation).
(I know it uses liquibase internally.)
If the user doesn’t have DDL grant then the application boot fails.
Is there a way we can use multiple DB users i.e at boot use the datasource with the user having DDL grant. Post boot, switch to the datasource with just DML grant.

or, can we move the liquibase stuff out in a separate application which creates the schema.
The app then should not look to create the schema if we do so.

Please do suggest if any of it is possible.

@j3d @duke1995 - Looks like you had similar question. Have you found any solutions around it?

Kind Regards
Gaurav Tanwar

Best approach in given scenario is to create ddl separately, either by another app (preferred) or manually, and then turning on DDL schema creation in main app, by property -

More details - Flowable Database Schema | Flowable Enterprise Documentation

That’s awesome.

BTW - I plan to use liquibase in a separate application to create the schema.
Have you got the liquibase yml’s for it otherwsier I’ll go the hard way & create them from the scripts :slight_smile:


The documentation page I provided earlier contains the necessary DDL scripts

It seems the tables are starting with FLW in the scripts. They are not quite for open source flowable engine rather they are for enterprise version.

Do you have scripts for open source flowable too?

Just use flowable.engine.xxx.all.create.sql

1 Like

One last question (promise) :slight_smile:
I see the DB scripts version is 3.15.0 and the flowable-engine is versioned as 7.0.0 and the latest is 7.0.1
If I’m on 7.0.0 and want my DB schema to update to the version which 7.0.1 needs then how do I go about it.
Is there a like to like version which I can use to upgrade from a version 1 to version 2.

I see there are upgrade scripts in DB scripts but it is difficult to gauge as to what engine version they are for.