AWE uses Flyway as default tool for database script version control.
Aside from using it internally to manage the AWE database model, you can manage your own scripts or use any other external tool.
See the visual overview with copy‑paste snippets in the Supported databases page.
Get started
To automatically run Flyway database migrations on AWE startup, add spring.flyway.enabled=true properties in your configuration. Typically, migrations are from scripts in the form <MODULE>_V<VERSION>__<NAME>.sql (with <VERSION> an underscore-separated version, such as ‘1.1’ or ‘2_1’).
spring.flyway.enabled=true
By default, they are located in the folder classpath:db/migration/{vendor}, but you can modify that location by setting spring.flyway.locations. This is a comma-separated list of one or more classpath: or filesystem: locations. For example, the following configuration would search for scripts in both the default classpath location and the /opt/migration directory:
spring.flyway.locations=classpath:db/migration/{vendor},filesystem:/opt/migration
Rather than using db/migration, the preceding configuration sets the folder to use according to the type of the database (such as db/migration/mysql for MySQL). See the list of supported databases and vendor keys in the Supported databases page.
AWE framework customizes the Flyway migration process to manage multiple modules. By default, the initial module is called AWE but you can add the modules you need to run scripts. For example, if you need to use AWE scheduler module and you have that sql scripts in your applications, you need configure like this:
# List of modules to migrate.
awe.database.migration-modules=AWE,SCHEDULER,APP
Note: remeber call your sql scripts with the same name as the configured module. Ex.:
APP_V1.0__Init_schema.sql