package com.nms.swspkmas_standalone.config; import lombok.extern.slf4j.Slf4j; import org.flywaydb.core.Flyway; import org.flywaydb.core.api.FlywayException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Configuration; import javax.annotation.PostConstruct; import javax.sql.DataSource; @Configuration @Slf4j public class FlywayConfig { @Autowired private DataSource dataSource; @PostConstruct public void migrate() { Flyway flyway = Flyway.configure() .dataSource(dataSource) .locations("classpath:db/migration") .encoding("UTF-8") .outOfOrder(true) .cleanDisabled(true) .cleanOnValidationError(false) .sqlMigrationPrefix("V") .sqlMigrationSeparator("_") .sqlMigrationSuffixes(".sql") .validateOnMigrate(true) .baselineOnMigrate(true) .load(); flyway.migrate(); // try { // flyway.migrate(); // } catch (FlywayException e) { // log.error("Flyway配置第一次加载出错", e); // try { // flyway.repair();//生成版本记录表 // log.info("Flyway配置修复成功"); // flyway.migrate(); // log.info("Flyway配置重新加载成功"); // } catch (Exception e1) { // log.error("Flyway配置第二次加载出错", e1); // throw e1; // } // } } }