Liquibase includeAll tag is ignored

Here we go..

We have a Spring Boot 1.4.0 application, and we use Liquibase 3.5.1 for our database management.

All our individual change files are located in /src/main/resources/db/changelog , and they have the following naming scheme: [semanticVersion]-[descriptor].yml

The master change log, however, is inside runtime dependencies.

 db.changelog-master.yaml databaseChangeLog: - changeSet: id: 1.0.1 author: atlassian changes: - createTable: //code omitted for brevity - includeAll: path: classpath*:db/changelog errorIfMissingOrEmpty: false 

Now to the problem.

Launching the application through IDEA is downloaded and applied to our database.

However, when I use the Spring Boot Gradle plugin to build a fat jar ( bootRepackage task), and then start it using java -jar [project].jar , the main change log will be found, a table is created, but all the other files, by apparently ignored. The databasechangelog table only displays update 1.0.1 and this. Satisfactory fact, if I set the error property to true , it will fail only after I also confuse path with something unsolvable. Thus, it looks like the directory was found just fine.

NB! All .yml files are inside the fat can, checked and double checked :)

I also tried renaming them to .yaml , I tried replacing them with the corresponding .xml files, nothing is allowed.

I dug on Google, Stack and Liquibase JIRA and found only a few mentions of this and from what I read on 3.5.1 this problem should have been fixed .. but without the dice.

If I switch the Liquibase dependency to 3.4.2 (which was mentioned as a possible solution) and run jar, I get several thousand lines of exceptions that end with Exception that db.changelog-master.yaml not recognized as the correct file and the databasechangelog node cannot to be found.

If I missed any important information, just let me know, I tried to be as detailed as possible.

+3
spring spring-boot liquibase
source share
1 answer

This seems to be fixed in a later version of Liquibase than what is currently installed in the spring.

Override the version with:

  ext [ "Liquibase.version" ] = "3.5.4" > 

Also, be aware that this problem still exists in spring boot 1.5

Link: https://liquibase.jira.com/browse/CORE-2863

0
source share

All Articles