我正在使用最新的liquibase版本使用SpringLiquibase liquibase-core 3.8.7,然后我创建了一个bean
@Bean
public SpringLiquibase getLiquibase() {
// Configure Liquibase
SpringLiquibase liquibase = new SpringLiquibase();
liquibase.setChangeLog("classpath:db_scripts/db.changelog-master.yaml");
liquibase.setDataSource(dataSource);
liquibase.setShouldRun(true);
return liquibase;
}
db.changelog-master.yaml位于资源下,看起来像这样
databaseChangeLog:
- includeAll:
path: db_changes/
relativeToChangelogFile: true
当我在本地运行应用程序时,它运行良好,但是当我将其作为docker运行时,出现以下错误:
Caused by: liquibase.exception.ChangeLogParseException: Error parsing classpath:db_scripts/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:1855)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1792)
... 22 common frames omitted
Caused by: liquibase.exception.SetupException: Could not find directory or directory was empty for includeAll 'db_changes/'
at liquibase.changelog.DatabaseChangeLog.includeAll(DatabaseChangeLog.java:528)
at liquibase.changelog.DatabaseChangeLog.handleChildNode(DatabaseChangeLog.java:395)
at liquibase.changelog.DatabaseChangeLog.load(DatabaseChangeLog.java:305)
at liquibase.parser.core.yaml.YamlChangeLogParser.parse(YamlChangeLogParser.java:77)
... 29 common frames omitted
Caused by: liquibase.exception.SetupException: Could not find directory or directory was empty for includeAll 'db_changes/'
at liquibase.changelog.DatabaseChangeLog.includeAll(DatabaseChangeLog.java:519)
... 32 common frames omitted
我知道有一个错误 https://liquibase.jira.com/browse/CORE-2863,但未提及docker。 所以我不确定是否相关。
有什么想法吗?