From edf43954c6c4903d3f632d07b1e7dbf9dcbce7e5 Mon Sep 17 00:00:00 2001 From: zhaojun <873019219@qq.com> Date: Thu, 11 Aug 2022 21:06:16 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E5=85=BC=E5=AE=B9=E6=8D=90?= =?UTF-8?q?=E8=B5=A0=E7=89=88=E6=95=B0=E6=8D=AE=E6=96=87=E4=BB=B6=E5=8A=9F?= =?UTF-8?q?=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../im/zhaojun/zfile/common/config/FlywayDbInitializer.java | 2 +- src/main/resources/application.properties | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/im/zhaojun/zfile/common/config/FlywayDbInitializer.java b/src/main/java/im/zhaojun/zfile/common/config/FlywayDbInitializer.java index 6c200ef..75a106e 100644 --- a/src/main/java/im/zhaojun/zfile/common/config/FlywayDbInitializer.java +++ b/src/main/java/im/zhaojun/zfile/common/config/FlywayDbInitializer.java @@ -1 +1 @@ -package im.zhaojun.zfile.common.config; import cn.hutool.core.util.StrUtil; import org.flywaydb.core.Flyway; import org.springframework.context.annotation.Configuration; import javax.annotation.PostConstruct; import javax.annotation.Resource; import javax.sql.DataSource; import java.sql.SQLException; import java.util.Locale; /** * 数据库初始化 * * @author zhaojun */ @Configuration public class FlywayDbInitializer { public static final String[] SUPPORT_DB_TYPE = new String[]{"mysql", "sqlite"}; @Resource private DataSource dataSource; /** * 启动时根据当前数据库类型执行数据库初始化 */ @PostConstruct public void migrateFlyway() { try { String databaseProductName = dataSource.getConnection().getMetaData().getDatabaseProductName(); String dbType = databaseProductName.toLowerCase(Locale.ROOT); // 检查当前数据库类型是否支持 if (!StrUtil.equalsAnyIgnoreCase(dbType, SUPPORT_DB_TYPE)) { throw new RuntimeException("不支持的数据库类型 [" + dbType + "]"); } Flyway load = Flyway.configure().dataSource(dataSource).locations("db/migration-" + dbType).load(); load.migrate(); } catch (SQLException e) { e.printStackTrace(); } } } \ No newline at end of file +package im.zhaojun.zfile.common.config; import cn.hutool.core.util.StrUtil; import org.flywaydb.core.Flyway; import org.springframework.context.annotation.Configuration; import javax.annotation.PostConstruct; import javax.annotation.Resource; import javax.sql.DataSource; import java.sql.SQLException; import java.util.Locale; /** * 数据库初始化 * * @author zhaojun */ @Configuration public class FlywayDbInitializer { public static final String[] SUPPORT_DB_TYPE = new String[]{"mysql", "sqlite"}; @Resource private DataSource dataSource; /** * 启动时根据当前数据库类型执行数据库初始化 */ @PostConstruct public void migrateFlyway() { try { String databaseProductName = dataSource.getConnection().getMetaData().getDatabaseProductName(); String dbType = databaseProductName.toLowerCase(Locale.ROOT); // 检查当前数据库类型是否支持 if (!StrUtil.equalsAnyIgnoreCase(dbType, SUPPORT_DB_TYPE)) { throw new RuntimeException("不支持的数据库类型 [" + dbType + "]"); } Flyway load = Flyway.configure().dataSource(dataSource).outOfOrder(true).locations("db/migration-" + dbType).load(); load.migrate(); } catch (SQLException e) { e.printStackTrace(); } } } \ No newline at end of file diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index d26e38c..b867d8b 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -27,4 +27,8 @@ spring.datasource.url=jdbc:sqlite:${zfile.db.path} spring.profiles.active=prod + +# ingroe zfile-pro upgrade sql +spring.flyway.ignore-migration-patterns=V5__.*,V6__.* + # -------------- database config end -------------- \ No newline at end of file