I'm migrating my current Spring Boot Application from liquigraph usage to liquibase 4.10.0.
I have executed successfully the liquigraph migrate-to-liquibase command as documented here: Migrate to Liquibase - Liquigraph
/liquigraph-cli/liquigraph.sh migrate-to-liquibase \ --changelog infrastructure/neo4j-adapter/neo4j-adapter-migration/src/main/resources/db/liquigraph/changelog.xml \ --url jdbc:neo4j:bolt://localhost \ --file ./liquibase.xml
I include liquibase-core and liquibase-neo4j (both at version 4.10.0) into my spring boot application and set in my application.yml:
spring: liquibase: change-log: classpath:liquibase.xml
When my spring boot application starts, I get the following error:
Caused by: liquibase.exception.ValidationFailedException: Validation Failed: 11 change sets check sum liquibase.xml::cof.0.8.37.0-SCOL-6934-3::Nantes was: 8:4f6f103bc9778b4279c12637aa23db4d but is now: 8:50eb2e5b8b4df0fee307ca4b60a52363 liquibase.xml::cof.0.8.38.0-SCOL-4466-1::Nantes was: 8:0227810d1693b795cbfeabcf0f96c8c3 but is now: 8:9505b36e309178461d1db23fe4f6bd1e liquibase.xml::cof.0.8.38.0-SCOL-4463-1::Nantes was: 8:cbdd7a7eddfaf845542de0da9e0780b1 but is now: 8:d7863e386ac188e732e6e5b5ebe96fd9 liquibase.xml::cof.0.8.38.0-of-obl-del::Nantes was: 8:a5f34bfc90cb5c0b2dba609a1c55749e but is now: 8:bcd2d0d35d3889c904856a780985d8ce liquibase.xml::cof.220.127.116.11-SCOL-7584-1::Nantes was: 8:e4f58cd2930a62de6823d5b688f18cf7 but is now: 8:b70bafc9838f4e8da4dc9833fd01ccb8 liquibase.xml::cof.18.104.22.168-SCOL-7584-2::Nantes was: 8:d00d53028def4e4909d1c7f95e287757 but is now: 8:59db271c915664055f8217a813bf1527 liquibase.xml::cof.22.214.171.124-SCOL-6346-3::Nantes was: 8:17beaa171d1c078dd59ad058c3779bc9 but is now: 8:4b6ddcbc8c60f257b671b765a05c6d84 liquibase.xml::cof.126.96.36.199-SCOL-8662-1::Nantes was: 8:ca246a0f0f44cdca384a8961ff380338 but is now: 8:07802c04a9edf0d5fe4c440800dcdc5c liquibase.xml::cof.188.8.131.52-SCOL-8771::Nantes was: 8:0b43e5509d178a99414b356c742f5748 but is now: 8:a702293ea772f916838004623863ba83 liquibase.xml::cof.184.108.40.206-SCOL-10036-1::Nantes was: 8:f003b0450278f23feb8720ef42405fd4 but is now: 8:bea8ff0bca26b780111348bbc62ec8e6 liquibase.xml::cof.220.127.116.11-SCOL-10875-1::Nantes was: 8:eb3669c160b865340be4a69d9d62e4da but is now: 8:224bbb06387c0a50ef93b4c216c1a0c5 at liquibase.changelog.DatabaseChangeLog.validate(DatabaseChangeLog.java:296) at liquibase.Liquibase.lambda$update$1(Liquibase.java:231) at liquibase.Scope.lambda$child$0(Scope.java:180) at liquibase.Scope.child(Scope.java:189) at liquibase.Scope.child(Scope.java:179) at liquibase.Scope.child(Scope.java:158) at liquibase.Liquibase.runInScope(Liquibase.java:2405) at liquibase.Liquibase.update(Liquibase.java:211) at liquibase.Liquibase.update(Liquibase.java:197) at liquibase.integration.spring.SpringLiquibase.performUpdate(SpringLiquibase.java:314) at liquibase.integration.spring.SpringLiquibase.afterPropertiesSet(SpringLiquibase.java:269) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1863) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1800) ... 17 common frames omitted
This is weird, I have a little more than 80 changesets.
So only a subset of the hash computation was failed.
I don't know if it rings a bell for someone.
I'm a bit concerned at publishing the migrations in a public forum since it's for a real application ;(
I can send them in mp
Hi, just for the record
I finished liquigraph -> liquibase migration some weeks ago.
Issues I had
As noted before, I had an issue on the checkSum computation (the migration CLI gave some bad value for some migrations)
Another issue particular to my project is that liquigraph migrations came from 2 locations:
When I executed the liquigraph migration tool all the migrations where extracted to the same file and hence with the same changeLog property (liquibase.xml)
What I did
// fix checksums MATCH (cs:`__LiquibaseChangeSet`) WHERE cs.changeLog = 'liquibase.xml' SET cs.checkSum = null; // changelog path customisation MATCH (cs:`__LiquibaseChangeSet`) WHERE cs.changeLog = 'liquibase.xml' SET cs.changeLog = 'db/changelog/V3.0/S74/myapp.3.0.74-1_migration_liquigraph_liquibase.xml';
And that's all
I hope this can help someone