fix: 修复Demo数据源删掉重启后恢复问题 #15393

This commit is contained in:
wangjiahao
2025-04-07 10:42:11 +08:00
committed by xuwei-fit2cloud
parent 527a88fc99
commit 1220b867df

View File

@@ -12,6 +12,8 @@ import io.dataease.extensions.datasource.dto.DatasourceDTO;
import io.dataease.extensions.datasource.dto.DatasourceRequest;
import io.dataease.extensions.datasource.factory.ProviderFactory;
import io.dataease.result.ResultMessage;
import io.dataease.template.dao.auto.entity.DeTemplateVersion;
import io.dataease.template.dao.auto.mapper.DeTemplateVersionMapper;
import io.dataease.utils.BeanUtils;
import io.dataease.utils.JsonUtil;
import io.dataease.utils.ModelUtils;
@@ -23,6 +25,8 @@ import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.time.LocalDateTime;
import java.time.temporal.ChronoUnit;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -43,6 +47,9 @@ public class EngineManage {
@Value("${dataease.path.engine:jdbc:h2:/opt/dataease2.0/desktop_data;AUTO_SERVER=TRUE;AUTO_RECONNECT=TRUE;MODE=MySQL;CASE_INSENSITIVE_IDENTIFIERS=TRUE;DATABASE_TO_UPPER=FALSE}")
private String engineUrl;
@Resource
private DeTemplateVersionMapper deTemplateVersionMapper;
public CoreDeEngine info() throws DEException {
List<CoreDeEngine> deEngines = deEngineMapper.selectList(null);
@@ -163,7 +170,10 @@ public class EngineManage {
QueryWrapper<CoreDatasource> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("id", 985188400292302848L);
queryWrapper.ne("create_time", 1715053684176L);
if (!datasourceMapper.exists(queryWrapper) && !ModelUtils.isDesktop()) {
// 版本检查
QueryWrapper<DeTemplateVersion> queryVersionWrapper = new QueryWrapper<>();
queryVersionWrapper.eq("version", "985188400292302848");
if (!datasourceMapper.exists(queryWrapper) && !deTemplateVersionMapper.exists(queryVersionWrapper) && !ModelUtils.isDesktop()) {
Pattern WITH_SQL_FRAGMENT = Pattern.compile("jdbc:mysql://(.*):(\\d+)/(.*)\\?(.*)");
Matcher matcher = WITH_SQL_FRAGMENT.matcher(env.getProperty("spring.datasource.url"));
if (!matcher.find()) {
@@ -191,6 +201,13 @@ public class EngineManage {
initDatasource.setTaskStatus("WaitingForExecution");
datasourceMapper.deleteById(985188400292302848L);
datasourceMapper.insert(initDatasource);
DeTemplateVersion version = new DeTemplateVersion();
version.setVersion("985188400292302848");
version.setScript("Demo");
version.setInstalledOn(LocalDateTime.now().truncatedTo(ChronoUnit.MINUTES));
version.setSuccess(true);
deTemplateVersionMapper.insert(version);
}
}