#I6IWI9 解决没有升级脚本时提示没有找到文件问题

This commit is contained in:
暮光:城中城
2023-03-02 23:20:18 +08:00
parent 76307b05b3
commit a819a8df59
8 changed files with 42 additions and 14 deletions

View File

@@ -145,6 +145,12 @@
<artifactId>freemarker</artifactId> <artifactId>freemarker</artifactId>
<version>2.3.28</version> <version>2.3.28</version>
</dependency> </dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
<scope>compile</scope>
</dependency>
<dependency> <dependency>
<groupId>javax.servlet</groupId> <groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId> <artifactId>servlet-api</artifactId>

View File

@@ -59,8 +59,6 @@
<dependency> <dependency>
<groupId>org.projectlombok</groupId> <groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId> <artifactId>lombok</artifactId>
<version>RELEASE</version>
<scope>compile</scope>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@@ -37,5 +37,9 @@
<groupId>com.baomidou</groupId> <groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-core</artifactId> <artifactId>mybatis-plus-core</artifactId>
</dependency> </dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies> </dependencies>
</project> </project>

View File

@@ -0,0 +1,17 @@
package com.zyplayer.doc.core.util;
import lombok.Data;
@Data
public class UpgradeInfo {
private String version;
private boolean haveUpgradeSql;
public UpgradeInfo() {
}
public UpgradeInfo(String version, boolean haveUpgradeSql) {
this.version = version;
this.haveUpgradeSql = haveUpgradeSql;
}
}

View File

@@ -15,8 +15,8 @@ public class ZyplayerDocVersion {
/** /**
* 每次升级必须添加一条记录用于执行它的升级SQL * 每次升级必须添加一条记录用于执行它的升级SQL
*/ */
public static final List<String> versionUpgrade = new LinkedList<String>() {{ public static final List<UpgradeInfo> versionUpgrade = new LinkedList<UpgradeInfo>() {{
add("1.1.3"); add(new UpgradeInfo("1.1.3", false));
add("1.1.2"); add(new UpgradeInfo("1.1.2", true));
}}; }};
} }

View File

@@ -111,8 +111,6 @@
<dependency> <dependency>
<groupId>org.projectlombok</groupId> <groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId> <artifactId>lombok</artifactId>
<version>RELEASE</version>
<scope>compile</scope>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@@ -54,8 +54,6 @@
<dependency> <dependency>
<groupId>org.projectlombok</groupId> <groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId> <artifactId>lombok</artifactId>
<version>RELEASE</version>
<scope>compile</scope>
</dependency> </dependency>
</dependencies> </dependencies>

View File

@@ -4,6 +4,7 @@ import com.alibaba.druid.sql.ast.SQLStatement;
import com.alibaba.druid.sql.ast.statement.*; import com.alibaba.druid.sql.ast.statement.*;
import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser;
import com.zyplayer.doc.core.enums.SystemConfigEnum; import com.zyplayer.doc.core.enums.SystemConfigEnum;
import com.zyplayer.doc.core.util.UpgradeInfo;
import com.zyplayer.doc.core.util.ZyplayerDocVersion; import com.zyplayer.doc.core.util.ZyplayerDocVersion;
import com.zyplayer.doc.data.repository.manage.mapper.UserInfoMapper; import com.zyplayer.doc.data.repository.manage.mapper.UserInfoMapper;
import com.zyplayer.doc.data.service.manage.SystemConfigService; import com.zyplayer.doc.data.service.manage.SystemConfigService;
@@ -107,13 +108,15 @@ public class UpgradeSystemDdlTask {
logger.info("升级数据库DDL脚本{} --> {}", nowVersion, ZyplayerDocVersion.version); logger.info("升级数据库DDL脚本{} --> {}", nowVersion, ZyplayerDocVersion.version);
boolean isStart = false; boolean isStart = false;
for (int i = ZyplayerDocVersion.versionUpgrade.size() - 1; i >= 0; i--) { for (int i = ZyplayerDocVersion.versionUpgrade.size() - 1; i >= 0; i--) {
String version = ZyplayerDocVersion.versionUpgrade.get(i); UpgradeInfo upgradeInfo = ZyplayerDocVersion.versionUpgrade.get(i);
if (!isStart) { if (!isStart) {
if (Objects.equals(version, nowVersion)) { if (Objects.equals(upgradeInfo.getVersion(), nowVersion)) {
isStart = true; isStart = true;
} }
} else if (!upgradeInfo.isHaveUpgradeSql()) {
logger.info("该版本无DDL脚本跳过此版本" + upgradeInfo.getVersion());
} else { } else {
upgradeByVersion(version, tableList); upgradeByVersion(upgradeInfo.getVersion(), tableList);
} }
} }
} }
@@ -156,8 +159,12 @@ public class UpgradeSystemDdlTask {
public void upgradeByStart() { public void upgradeByStart() {
logger.info("初始升级数据库DDL脚本{} --> {}", "1.1.1", ZyplayerDocVersion.version); logger.info("初始升级数据库DDL脚本{} --> {}", "1.1.1", ZyplayerDocVersion.version);
for (int i = ZyplayerDocVersion.versionUpgrade.size() - 1; i >= 0; i--) { for (int i = ZyplayerDocVersion.versionUpgrade.size() - 1; i >= 0; i--) {
String version = ZyplayerDocVersion.versionUpgrade.get(i); UpgradeInfo upgradeInfo = ZyplayerDocVersion.versionUpgrade.get(i);
String sql = loadDDLFile("sql/upgrade/" + version + ".sql"); if (!upgradeInfo.isHaveUpgradeSql()) {
logger.info("该版本无DDL脚本跳过此版本" + upgradeInfo.getVersion());
continue;
}
String sql = loadDDLFile("sql/upgrade/" + upgradeInfo.getVersion() + ".sql");
if (StringUtils.isBlank(sql)) { if (StringUtils.isBlank(sql)) {
return; return;
} }