Liquibase configuration
Liquibase configuration

This article is a hint how to change the default path and name for the liquibase changeset when you are using Spring Boot.

TL;DR


spring.liquibase.changeLog=classpath:db/liquibase-changeLog.xml

Javadoc

What is Liquibase ?

Liquibase framework logo

Liquibase is an open source database-independent library for tracking, managing and applying database schema changes. It was started in 2006 to allow easier tracking of database changes, especially in an agile software development environment.

Basically, you define your database schema, the successive iterations and upgrades in changesets and liquibase will keep and maintain a database log and upgrade automatically your database instances.

What is Spring Boot ?

Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can “just run”.

It”s an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration.

The default Spring Boot configuration

By default, Spring boot is looking for your changeset stored in your classpath. The path your changeset should be located is :


classpath:/db/changelog/db.changelog-master.yaml

The choice is rather dubious. They are using yaml and the weird file extension yaml instead of yml. Most of Liquibase documentation is using XML.

I have been looking how to change this ugly property, and without rewriting my own Liquibase Spring Boot configuration bean.

Here is the trick :


spring.liquibase.changeLog=classpath:db/liquibase-changeLog.xml

If you are interested about Java articles , have a look there;

 

By sleroy

Leave a Reply

Your email address will not be published. Required fields are marked *