Dee*_*ore 6 liquibase spring-boot
@Bean
public SpringLiquibase liquibase() {
SpringLiquibase liquibase = new SpringLiquibase();
liquibase.setDataSource(vsDataSource());
liquibase.setChangeLog("classpath:liquibase/avt_changelog_master.xml");
return liquibase;
}
Run Code Online (Sandbox Code Playgroud)
这就是我通过 Spring Boot 应用程序初始化 liquibase 的方式。
我检查了数据库更改日志表,可以发现该更改集条目在那里并且已成功执行。
为什么 liquibase 不跳过该变更集并执行新的唯一变更集 ID。
问题可能出在您的变更日志的名称上。如果您从其他应用程序/maven/... 中执行该变更日志并且未指定,logicalFilePath那么 liquibase 可能会将其视为不同的变更日志。尝试在您的变更日志定义中进行设置logicalFilePath,然后尝试执行它。
这是例子:
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd"
logicalFilePath="db-changelog-master.xml">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2865 次 |
| 最近记录: |