Open issues

ChangeLogParseException with Spring Boot
CORE-3459
Invalid XML character during changelog snapshot
CORE-3432
Error: Unable to initialize main class liquibase.integration.commandline.Main Caused by: java.lang.NoClassDefFoundError: ch/qos/logback/core/filter/Filter
CORE-3408
generateChangeLog seems to die after 131 tables
CORE-3397
Unable to generate Change Log for our smallest database
CORE-3396
Informix Indexes should not use default names
CORE-3395
INTERVAL data type not handled correctly
CORE-3394
Informix constraints should not use default names
CORE-3392
Informix BYTE datatype should not have (LENGTH)
CORE-3391
OSGiPackageScanClassResolver doesn't catch NoClassDefFoundErrors
CORE-3368
YAML serializer generates wrong changesets
CORE-3340
XML serializer generates wrong changesets
CORE-3336
Liquibase Sql format does not support rollback to another changeset
CORE-3333
SnapshotGeneratorFactory returns null Table(s)
CORE-3329
generateChangeLog for mssql server will only generate empty changelog file
CORE-3323
ShouldRunChangeSetFilter initialization behavior update from 3.5.0 breaks custom task
CORE-3299
NPE in MissingTableChangeGenerator.fixMissing when running liquibase:generateChangeLog
CORE-3297
createIndex refactoring includes schema name on postgres
CORE-3288
ORA-00933 exception when timestamp doesn't have milliseconds on oracle 12c
CORE-3282
Number Format Exception When Importing CSV File
CORE-3265
Liquibase 3.6.1 not working for MaxDB
CORE-3264
fails with mssql 2005 because of using true/false (instead of 0/1 in older versions) while working with bit fields
CORE-3217
File path issue with maven-plugin
CORE-3210
GenerateChangeLog does not create AddPrimaryKey changesets
CORE-3207
java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Date during lockService.listLocks() [SQLite]
CORE-3197
Snapshot versions in liquibase-debian & liquibase-rpm
CORE-3183
Cannot find the object "[object]" because it does not exist or you do not have permissions.
CORE-3169
Liquibase applying change log for different schema
CORE-3161
Liquibase Sybase should support loadData identityInsertEnabled
CORE-3152
Using Liquibase Teradata gives error conencting to database.
CORE-3146
3.5.2 : Error: ORA-00933 when inside string last character is a backslash
CORE-3096
objectQuotingStrategy="QUOTE_ALL_OBJECTS" not works correctly in H2, HSQLDB
CORE-3073
generateChangelog does not order views correctly based on usage
CORE-3070
Incompatible change -- bool is mapped to BIT(1) instead of BOOL
CORE-3012
XML Schema does not support descending on columns in index
CORE-2968
Not able to apply filter diffIncludeObjects in diff command
CORE-2897
SqlPlus syntax support
CORE-2866
String with the word null in it gets converted into NULL on import
CORE-2783
db2 Raw sql file having "CONNECT TO DB" while executing it throwing error
CORE-2762
Quote with inside comment and default value make update failed
CORE-2710
NumberFormatException with default values of type 'real' in postgresql
CORE-2662
includeAll includes just first xml
CORE-2592
loadUpdateData doesn't update data
CORE-2582
Issue with file charset
CORE-2444
Change formatted SQL stripComments default from "true" to "false"
CORE-2383
NoClassDefFoundError in ServiceLocator
CORE-2372
PrimaryKeyExists precondition fails on Oracle
CORE-2350
<loadUpdataData> is not working for postgres 9.2 verson
CORE-2101
Sybase - Use of reserved functional index name during columnExists precondition check
CORE-2055
loadData into column named with a reserved keyword on db2
CORE-2040
issue 1 of 1175

ChangeLogParseException with Spring Boot

Description

ChangelogParseException during Spring Boot application startup:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 2019-08-11 09:14:00.225 ERROR 3622 --- [ main] o.s.boot.SpringApplication : Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'liquibase' defined in class path resource [org/springframework/boot/autoconfigure/liquibase/LiquibaseAutoConfiguration$LiquibaseConfiguration.class]: Invocation of init method failed; nested exception is liquibase.exception.ChangeLogParseException: Error parsing classpath:/db/changelog/db.changelog-master.yaml at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1778) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:593) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:515) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:320) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:318) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:307) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1105) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:549) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:141) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:743) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:390) at org.springframework.boot.SpringApplication.run(SpringApplication.java:312) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1214) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1203) at ru.avtoapp.AvtoAppApplication.main(AvtoAppApplication.java:37) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48) at org.springframework.boot.loader.Launcher.launch(Launcher.java:87) at org.springframework.boot.loader.Launcher.launch(Launcher.java:51) at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:52) Caused by: liquibase.exception.ChangeLogParseException: Error parsing classpath:/db/changelog/db.changelog-master.yaml at liquibase.parser.core.yaml.YamlChangeLogParser.parse(YamlChangeLogParser.java:83) at liquibase.Liquibase.getDatabaseChangeLog(Liquibase.java:217) at liquibase.Liquibase.update(Liquibase.java:190) at liquibase.Liquibase.update(Liquibase.java:179) at liquibase.integration.spring.SpringLiquibase.performUpdate(SpringLiquibase.java:366) at liquibase.integration.spring.SpringLiquibase.afterPropertiesSet(SpringLiquibase.java:314) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1837) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1774) ... 26 common frames omitted Caused by: java.io.FileNotFoundException: class path resource [db/changelog/db.changelog-master.yaml] cannot be resolved to URL because it does not exist at org.springframework.core.io.ClassPathResource.getURL(ClassPathResource.java:195) at liquibase.integration.spring.SpringLiquibase$SpringResourceOpener.getResourcesAsStream(SpringLiquibase.java:613) at liquibase.util.StreamUtil.singleInputStream(StreamUtil.java:186) at liquibase.parser.core.yaml.YamlChangeLogParser.parse(YamlChangeLogParser.java:26) ... 33 common frames omitted

I don't have db/changelog/db.changelog-master.yaml, instead I have db/changelog/db.changelog-master.xml file, but Spring Boot wants to parse yaml file exactly.
Seems like the problem is with Spring Boot autoconfiguration LiquibaseProperties class (https://github.com/spring-projects/spring-boot/blob/master/spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/liquibase/LiquibaseProperties.java), namely, line #39:

1 private String changeLog = "classpath:/db/changelog/db.changelog-master.yaml";

Hence, Spring Boot autoconfiguration relies on yaml file and format, unlike that I have liquibase.changelog configuration property set to xml in my application-dev.yaml file:

1 2 liquibase: changeLog: classpath:/db/changelog/db.changelog-master.xml

Please, help. I'll try to cross-post this bug in Spring Boot also.
Thank you.

Environment

Spring version 5.1.9.RELEASE
Spring Boot version 2.1.7.RELEASE
Liquibase version 3.7.0

Status

Assignee

Unassigned

Reporter

Alexander Garncev

Labels

None

Components

Affects versions

3.7.0

Priority

Blocker