diff --git a/par-api/src/main/java/com/par/api/config/FlywayConfig.java b/par-api/src/main/java/com/par/api/config/FlywayConfig.java new file mode 100644 index 0000000..76d104c --- /dev/null +++ b/par-api/src/main/java/com/par/api/config/FlywayConfig.java @@ -0,0 +1,26 @@ +package com.par.api.config; + +import lombok.extern.slf4j.Slf4j; +import org.flywaydb.core.Flyway; +import org.springframework.boot.autoconfigure.flyway.FlywayMigrationStrategy; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +/** + * Flyway 自动修复配置 + * 启动时自动清理残留的失败迁移记录,再执行待迁移 + */ +@Slf4j +@Configuration +public class FlywayConfig { + + @Bean + public FlywayMigrationStrategy flywayMigrationStrategy() { + return (Flyway flyway) -> { + log.info("Flyway repair: cleaning failed migration records..."); + flyway.repair(); + log.info("Flyway migrate: applying pending migrations..."); + flyway.migrate(); + }; + } +} diff --git a/par-api/src/main/resources/application.yml b/par-api/src/main/resources/application.yml index 2af4033..5bf96ae 100644 --- a/par-api/src/main/resources/application.yml +++ b/par-api/src/main/resources/application.yml @@ -31,7 +31,6 @@ spring: locations: classpath:db/migration baseline-on-migrate: true baseline-version: 0 - repair-on-migrate: true mybatis-plus: configuration: