I am used to flyway and wanted to test liquibase as an alternative. In devon4j (https://devonfw.com) we also provide full solutions to build apps and IT landscapes following best practices and therefore are about to support liquibase alongside flyway.
With flyway I observed that it has spring-boot integration out of the box:
You only need to have flyway on your classpath and it is automatically configured in spring-boot.
Studying those gives me the impression that this is rather outdated from my PoV as nobody is using spring XML config anymore with spring-boot.
What I am therefore wondering is: Why dont you simply provide a spring-boot-starter-liquibase that projects could add as a dependency to get both the classic liquibase dependency as well as the autoconfiguration and ingeration into spring-boot via spring.factories?
IMHO this would be a nice improvement to liquibase that can be done extremely easy.
WDYT? I am happy to assist in case you may not be familiar with the details how to build spring-boot starters.
as written above:
The problem is that liquibase (liquibase.Liquibase) is not available as spring-bean for injection. We need this e.g. in JUnits to reset DB and avoid side-effects from previous runs.
This works for flyway (that we can simply receive via “@Inject Flyway flyway”) but not for liquibase ("@Inject Liquibase liquibase" is giving us UnsatisfiedDependencyException).
Any hints or suggestions how to make it work with liquibase?