With boot 2.6.0-RC1 is was looking why flyway config is still trying to find mysql classes if I use {vendor} placement. There's been PR's like #25173 which changes these things as mariadb really is a different database than mysql these days.

Would it be possible to change DatabaseDriver to return correct id for mariadb as I think it's coming from here https://github.com/spring-projects/spring-boot/blob/6b79d2860fd579bac802ce18ced15b2864070c9a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/jdbc/DatabaseDriver.java#L81

As I think it's called from here https://github.com/spring-projects/spring-boot/blob/6b79d2860fd579bac802ce18ced15b2864070c9a/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/jdbc/DatabaseDriver.java#L291

Comment From: wilkinsona

It might be possible, but we'll have to tread carefully as I think there's quite a high risk of breaking something. For example, we already override what the JDBC metadata tells us in our Quartz and Spring Batch data source initializers to map mariadb to mysql as neither project provides schema scripts for MariaDB.

We can consider it for early in 2.7 so that there's plenty of time to get feedback and reconsider if necessary.

Comment From: jvalkeal

In dataflow we're dropping mysql as flyway 8 which boot 2.6 uses doesn't support mysql 5.7 anymore and you can't really use mysql 8 as you'd need to bundle oracle's mysql driver(can't do that) and mariadb driver doesn't work with mysql 8 anymore.

I know that we have a workaround by placing mariadb related flyway classes under mysql vendor in a classpath. This is probably scenario for everyone else as well.