mirror of
https://github.com/dataease/dataease.git
synced 2026-05-16 14:31:00 +08:00
fix: 修复Demo数据源删掉重启后恢复问题 #15393
This commit is contained in:
committed by
xuwei-fit2cloud
parent
527a88fc99
commit
1220b867df
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user