diff --git a/hapi-fhir-cli/hapi-fhir-cli-api/pom.xml b/hapi-fhir-cli/hapi-fhir-cli-api/pom.xml
index 12f78c32fe0..1de05909dd6 100644
--- a/hapi-fhir-cli/hapi-fhir-cli-api/pom.xml
+++ b/hapi-fhir-cli/hapi-fhir-cli-api/pom.xml
@@ -239,6 +239,14 @@
org.flywaydb
flyway-core
+
+ org.flywaydb
+ flyway-sqlserver
+
+
+ org.flywaydb
+ flyway-mysql
+
diff --git a/hapi-fhir-jpaserver-cql/pom.xml b/hapi-fhir-jpaserver-cql/pom.xml
index ebd6782332f..0ee65e013da 100644
--- a/hapi-fhir-jpaserver-cql/pom.xml
+++ b/hapi-fhir-jpaserver-cql/pom.xml
@@ -95,6 +95,12 @@
javax.xml.bind
jaxb-api
${jaxb_api_version}
+
+
+ javax.activation
+ javax.activation-api
+
+
com.jamesmurty.utils
diff --git a/hapi-fhir-sql-migrate/pom.xml b/hapi-fhir-sql-migrate/pom.xml
index 442d163e596..c668d1930cf 100644
--- a/hapi-fhir-sql-migrate/pom.xml
+++ b/hapi-fhir-sql-migrate/pom.xml
@@ -72,6 +72,15 @@
org.flywaydb
flyway-core
+
+ org.flywaydb
+ flyway-sqlserver
+
+
+ org.flywaydb
+ flyway-mysql
+
+
org.springframework.data
spring-data-commons
diff --git a/hapi-fhir-sql-migrate/src/test/java/FlywayDbCompatibilityTest.java b/hapi-fhir-sql-migrate/src/test/java/FlywayDbCompatibilityTest.java
new file mode 100644
index 00000000000..eec57d2b608
--- /dev/null
+++ b/hapi-fhir-sql-migrate/src/test/java/FlywayDbCompatibilityTest.java
@@ -0,0 +1,31 @@
+import org.flywaydb.core.internal.database.DatabaseType;
+import org.flywaydb.core.internal.database.DatabaseTypeRegister;
+import org.junit.jupiter.api.Test;
+
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.equalTo;
+import static org.hamcrest.Matchers.is;
+
+public class FlywayDbCompatibilityTest {
+ @Test
+ public void testFlywayDbCompatibility() {
+ DatabaseType h2Type = DatabaseTypeRegister.getDatabaseTypeForUrl("jdbc:h2:mem:test");
+ assertThat(h2Type.getName(), is(equalTo("H2")));
+
+ DatabaseType sqlServerType = DatabaseTypeRegister.getDatabaseTypeForUrl("jdbc:sqlserver://localhost:1433;database=test");
+ assertThat(sqlServerType.getName(), is(equalTo("Azure Synapse")));
+
+ DatabaseType oracleType = DatabaseTypeRegister.getDatabaseTypeForUrl("jdbc:oracle:thin:@//host:port/service");
+ assertThat(oracleType.getName(), is(equalTo("Oracle")));
+
+ DatabaseType mySqlType = DatabaseTypeRegister.getDatabaseTypeForUrl("jdbc:mysql://localhost:3306/cdr?serverTimezone=Canada/Eastern");
+ assertThat(mySqlType.getName(), is(equalTo("MySQL")));
+
+ DatabaseType postgresType = DatabaseTypeRegister.getDatabaseTypeForUrl("jdbc:postgresql://localhost:5432/cdr");
+ assertThat(postgresType.getName(), is(equalTo("CockroachDB")));
+
+ DatabaseType mariaDbType = DatabaseTypeRegister.getDatabaseTypeForUrl("jdbc:mariadb://localhost:3306/cdr");
+ assertThat(mariaDbType.getName(), is(equalTo("MariaDB")));
+ }
+
+}
diff --git a/hapi-fhir-sql-migrate/src/test/java/ca/uhn/fhir/jpa/migrate/FlywayMigrationTaskTest.java b/hapi-fhir-sql-migrate/src/test/java/ca/uhn/fhir/jpa/migrate/FlywayMigrationTaskTest.java
index 130413f204f..cbab55741de 100644
--- a/hapi-fhir-sql-migrate/src/test/java/ca/uhn/fhir/jpa/migrate/FlywayMigrationTaskTest.java
+++ b/hapi-fhir-sql-migrate/src/test/java/ca/uhn/fhir/jpa/migrate/FlywayMigrationTaskTest.java
@@ -6,6 +6,7 @@ import ca.uhn.fhir.jpa.migrate.tasks.api.ISchemaInitializationProvider;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.flywaydb.core.api.migration.Context;
+import org.flywaydb.core.internal.database.DatabaseTypeRegister;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.mockito.Mock;
diff --git a/pom.xml b/pom.xml
index 0dcacac6ced..8a68296737a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1942,6 +1942,16 @@
flyway-core
${flyway_version}
+
+ org.flywaydb
+ flyway-sqlserver
+ ${flyway_version}
+
+
+ org.flywaydb
+ flyway-mysql
+ ${flyway_version}
+
org.springframework.batch
spring-batch-test