#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>
<version>2.3.28</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.24</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>

View File

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

View File

@@ -37,5 +37,9 @@
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-core</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
</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
*/
public static final List<String> versionUpgrade = new LinkedList<String>() {{
add("1.1.3");
add("1.1.2");
public static final List<UpgradeInfo> versionUpgrade = new LinkedList<UpgradeInfo>() {{
add(new UpgradeInfo("1.1.3", false));
add(new UpgradeInfo("1.1.2", true));
}};
}

View File

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

View File

@@ -54,8 +54,6 @@
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>RELEASE</version>
<scope>compile</scope>
</dependency>
</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.dialect.mysql.parser.MySqlStatementParser;
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.data.repository.manage.mapper.UserInfoMapper;
import com.zyplayer.doc.data.service.manage.SystemConfigService;
@@ -107,13 +108,15 @@ public class UpgradeSystemDdlTask {
logger.info("升级数据库DDL脚本{} --> {}", nowVersion, ZyplayerDocVersion.version);
boolean isStart = false;
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 (Objects.equals(version, nowVersion)) {
if (Objects.equals(upgradeInfo.getVersion(), nowVersion)) {
isStart = true;
}
} else if (!upgradeInfo.isHaveUpgradeSql()) {
logger.info("该版本无DDL脚本跳过此版本" + upgradeInfo.getVersion());
} else {
upgradeByVersion(version, tableList);
upgradeByVersion(upgradeInfo.getVersion(), tableList);
}
}
}
@@ -156,8 +159,12 @@ public class UpgradeSystemDdlTask {
public void upgradeByStart() {
logger.info("初始升级数据库DDL脚本{} --> {}", "1.1.1", ZyplayerDocVersion.version);
for (int i = ZyplayerDocVersion.versionUpgrade.size() - 1; i >= 0; i--) {
String version = ZyplayerDocVersion.versionUpgrade.get(i);
String sql = loadDDLFile("sql/upgrade/" + version + ".sql");
UpgradeInfo upgradeInfo = ZyplayerDocVersion.versionUpgrade.get(i);
if (!upgradeInfo.isHaveUpgradeSql()) {
logger.info("该版本无DDL脚本跳过此版本" + upgradeInfo.getVersion());
continue;
}
String sql = loadDDLFile("sql/upgrade/" + upgradeInfo.getVersion() + ".sql");
if (StringUtils.isBlank(sql)) {
return;
}