Hello,

I have generated a database changelog using Liquibase from an existing database (to which I added some tables), and to be able keep track of my changes only (and not the full database), I want to use custom names for the databasechangeloglock and databasechangelog tables. According to the doc and the LiquibaseProperties.java

spring.liquibase.database-change-log-lock-table and spring.liquibase.database-change-log-table are the properties to use. When I set those in the application.properties, the application fails to start (even if use the default values), and shows the below message:

***************************
APPLICATION FAILED TO START
***************************

Description:

Binding to target [Bindable@3fde337b type = org.springframework.boot.autoconfigure.liquibase.LiquibaseProperties, value = 'provided', annotations = array<Annotation>[@org.springframework.boot.context.properties.ConfigurationProperties(ignoreUnknownFields=false, ignoreInvalidFields=false, value=spring.liquibase, prefix=spring.liquibase)]] failed:

    Property: spring.liquibase.database-change-log-lock-table
    Value: mycustomnamelock
    Origin: class path resource [application-dev.properties]:35:49
    Reason: The elements [spring.liquibase.database-change-log-lock-table,spring.liquibase.database-change-log-table] were left unbound.
    Property: spring.liquibase.database-change-log-table
    Value: mycustomname
    Origin: class path resource [application-dev.properties]:36:44
    Reason: The elements [spring.liquibase.database-change-log-lock-table,spring.liquibase.database-change-log-table] were left unbound.

Action:

Update your application's configuration

Comment From: snicoll

@zak905 I am not able to reproduce the problem. Can you please share a sample we can run ourselves (a repo or a zip). Thank you.

Comment From: snicoll

Ah you are probably using Spring Boot 2.0.x. Those properties have been added in Spring Boot 2.1 so you need to upgrade.

Comment From: drstrangelug

For anyone who, like me, found this at the top of their google results but IS using a later version of spring boot, the properties have been renamed.

You now need:

spring.liquibase.database-change-log-table spring.liquibase.database-change-log-lock-table

What I have been unable to find is any reason why somebody decided to rename these properties and break the examples found elsewhere.

Comment From: wilkinsona

@drstrangelug I can't see any difference between the two properties that you have listed and those in the title of this issue.

Comment From: drstrangelug

Ah, apologies.

I've found other guides that specify the properties as : liquibase.databaseChangeLogTableName liquibase.databaseChangeLogLockTableName

I'll correct there as well.