Skip to main content
Version: 4.11.0

This page lists the SQL database engines officially supported by AWE Framework and shows, at a glance, how to configure each one for JDBC and Flyway.

AWE uses Spring Boot + JDBC and Flyway. For each engine you need:

  • A JDBC driver on the classpath.
  • (When using Flyway) the corresponding Flyway database module on the classpath.
  • A JDBC URL and credentials.
  • Optionally, vendor-specific migration scripts under classpath:db/migration/{vendor} where {vendor} is resolved from the JDBC URL.

Tip: AWE sets the Flyway locations to classpath:db/migration/{vendor} so you can keep one set of migrations per database vendor. Modules listed in awe.database.migration-modules are applied to the same datasource.

Quick comparison

EngineVendor keyJDBC driverFlyway moduleExample URL
🧪 HSQLDBhsqldborg.hsqldb:hsqldborg.flywaydb:flyway-database-hsqldbjdbc:hsqldb:mem:awetestdb
⚡ H2h2com.h2database:h2bundled in Flyway core (no extra module in most versions)jdbc:h2:mem:awetestdb;MODE=MySQL
🐬 MySQL/MariaDBmysqlcom.mysql:mysql-connector-jorg.flywaydb:flyway-mysqljdbc:mysql://localhost/awetestdb
🐘 PostgreSQLpostgresqlorg.postgresql:postgresqlorg.flywaydb:flyway-database-postgresqljdbc:postgresql://localhost/awetestdb
🪟 SQL Serversqlservercom.microsoft.sqlserver:mssql-jdbcorg.flywaydb:flyway-sqlserverjdbc:sqlserver://localhost:1433;databaseName=awetestdb
🏛️ Oracleoraclecom.oracle.database.jdbc:ojdbc11org.flywaydb:flyway-database-oracle (Teams in some versions)jdbc:oracle:thin:@//localhost:1521/XEPDB1

Copy‑paste snippets

Use the tabs to pick your database and copy the minimal Maven and application.properties examples.

pom.xml — add JDBC + Flyway module
<dependency>
<groupId>org.hsqldb</groupId>
<artifactId>hsqldb</artifactId>
</dependency>
<dependency>
<groupId>org.flywaydb</groupId>
<artifactId>flyway-database-hsqldb</artifactId>
</dependency>
application.properties
spring.datasource.url=jdbc:hsqldb:mem:awetestdb
spring.datasource.driver-class-name=org.hsqldb.jdbcDriver
spring.flyway.enabled=true
# spring.flyway.locations=classpath:db/migration/{vendor}
awe.database.migration-modules=AWE,SCHEDULER,NOTIFIER

Flyway script layout

Place vendor-specific scripts under:

classpath:db/migration/{vendor}

AWE’s own modules follow that convention. For example:

  • AWE core: awe-starters/awe-spring-boot-starter/src/main/resources/db/migration/mysql and .../postgresql.
  • Scheduler: awe-starters/awe-scheduler-spring-boot-starter/src/main/resources/db/migration/{vendor}.
  • Notifier: awe-starters/awe-notifier-spring-boot-starter/src/main/resources/db/migration/{vendor}.

Scripts per module are named with the module prefix and version, for example:

AWE_V1.0.0__Init_awe_schema.sql
SCHEDULER_V1.0.0__Init_scheduler.sql
NOTIFIER_V1.0.0__Init_notifier.sql

Minimal global configuration

Enable Flyway and list the modules whose migrations you want to apply:

spring.flyway.enabled=true
# Default location already uses {vendor}
# spring.flyway.locations=classpath:db/migration/{vendor}

# AWE will migrate all listed modules on the configured datasource
# (Using the customized FlywayMigrationConfig)
awe.database.migration-modules=AWE,SCHEDULER,NOTIFIER