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;
|
// }
|
// }
|
}
|
}
|