javaliquibaseliquibase-hibernate

Liquibase diff both comparing hibernate models doesn't find any differences while the different set of packages is passed to it:


In the build.gradle I have saet up the liquibase config to run the diff task of the liquibase gradle plugin.

liquibase {
    activities {
        main {
            changeLogFile "$buildDir/generated-migrations.xml"            
            url 'hibernate:spring:rf.dom.billing.model.contractor,rf.dom.billing.model.billing,rf.dom.billing.model.dict,rf.dom.billing.model.meta,rf.dom.billing.model.service?dialect=org.hibernate.dialect.PostgreSQLDialect&hibernate.physical_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy&hibernate.implicit_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy'
            referenceUrl 'hibernate:spring:rf.dom.billing.model.contractor,rf.dom.billing.model.billing,rf.dom.billing.model.dict,rf.dom.billing.model.meta?dialect=org.hibernate.dialect.PostgreSQLDialect&hibernate.physical_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringPhysicalNamingStrategy&hibernate.implicit_naming_strategy=org.springframework.boot.orm.jpa.hibernate.SpringImplicitNamingStrategy'
            logLevel 'debug' 
        }
        runList = "main"
    }
}

i.e url just have for one more package than reference (rf.dom.billing.model.service)

I expect the tables from the entities of that class to be shown as a diff, but the outpu shows

02:48:03.323 INFO  [liquibase.diff.output.changelog.DiffToChangeLog$1]: No changes found, nothing to do
02:48:03.324 INFO  [liquibase.integration.commandline.Main]: Liquibase command 'diffChangeLog' was executed successfully.

How to work it around and get the difference, based on the different number of packages under the diff?


Solution

  • Based on the source code it should work. If you increase the log level you should be able to see the Found package messages to confirm that Liquibase is correctly loading your url .