Skip to content

Commit edf4395

Browse files
committed
✨ 兼容捐赠版数据文件功能
1 parent 5a816b1 commit edf4395

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

src/main/java/im/zhaojun/zfile/common/config/FlywayDbInitializer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +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 */@Configurationpublic 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(); } }}
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 */@Configurationpublic 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(); } }}

src/main/resources/application.properties

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,8 @@ spring.datasource.url=jdbc:sqlite:${zfile.db.path}
2727

2828
spring.profiles.active=prod
2929

30+
31+
# ingroe zfile-pro upgrade sql
32+
spring.flyway.ignore-migration-patterns=V5__.*,V6__.*
33+
3034
# -------------- database config end --------------

0 commit comments

Comments
 (0)