forked from github/dataease
feat(fix):删除数据集,同时删除关联视图的关联关系
This commit is contained in:
parent
9d142bcfc8
commit
ee5e4ac055
@ -132,6 +132,8 @@ public class DataSetTableService {
|
||||
dataSetTableFieldsService.deleteByTableId(id);
|
||||
// 删除同步任务
|
||||
dataSetTableTaskService.deleteByTableId(id);
|
||||
// 删除关联关系
|
||||
dataSetTableUnionService.deleteUnionByTableId(id);
|
||||
try {
|
||||
deleteDorisTable(id, table);
|
||||
} catch (Exception e) {
|
||||
@ -359,7 +361,7 @@ public class DataSetTableService {
|
||||
datasourceRequest.setDatasource(ds);
|
||||
String sql = new Gson().fromJson(dataSetTableRequest.getInfo(), DataTableInfoDTO.class).getSql();
|
||||
// 使用输入的sql先预执行一次,并拿到所有字段
|
||||
if(StringUtils.isEmpty(sql)){
|
||||
if (StringUtils.isEmpty(sql)) {
|
||||
throw new Exception(Translator.get("i18n_sql_not_empty"));
|
||||
}
|
||||
datasourceRequest.setQuery(sql);
|
||||
@ -874,14 +876,15 @@ public class DataSetTableService {
|
||||
}
|
||||
|
||||
public Boolean checkDorisTableIsExists(String id) throws Exception {
|
||||
Datasource dorisDatasource = (Datasource) CommonBeanFactory.getBean("DorisDatasource");
|
||||
JdbcProvider jdbcProvider = CommonBeanFactory.getBean(JdbcProvider.class);
|
||||
DatasourceRequest datasourceRequest = new DatasourceRequest();
|
||||
datasourceRequest.setDatasource(dorisDatasource);
|
||||
QueryProvider qp = ProviderFactory.getQueryProvider(dorisDatasource.getType());
|
||||
datasourceRequest.setQuery(qp.searchTable(DorisTableUtils.dorisName(id)));
|
||||
List<String[]> data = jdbcProvider.getData(datasourceRequest);
|
||||
return CollectionUtils.isNotEmpty(data);
|
||||
// Datasource dorisDatasource = (Datasource) CommonBeanFactory.getBean("DorisDatasource");
|
||||
// JdbcProvider jdbcProvider = CommonBeanFactory.getBean(JdbcProvider.class);
|
||||
// DatasourceRequest datasourceRequest = new DatasourceRequest();
|
||||
// datasourceRequest.setDatasource(dorisDatasource);
|
||||
// QueryProvider qp = ProviderFactory.getQueryProvider(dorisDatasource.getType());
|
||||
// datasourceRequest.setQuery(qp.searchTable(DorisTableUtils.dorisName(id)));
|
||||
// List<String[]> data = jdbcProvider.getData(datasourceRequest);
|
||||
// return CollectionUtils.isNotEmpty(data);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Resource
|
||||
|
@ -76,6 +76,14 @@ public class DataSetTableUnionService {
|
||||
return sourceList;
|
||||
}
|
||||
|
||||
public void deleteUnionByTableId(String tableId) {
|
||||
DatasetTableUnionExample datasetTableUnionExample = new DatasetTableUnionExample();
|
||||
DatasetTableUnionExample.Criteria criteriaSource = datasetTableUnionExample.createCriteria().andSourceTableIdEqualTo(tableId);
|
||||
DatasetTableUnionExample.Criteria criteriaTarget = datasetTableUnionExample.createCriteria().andTargetTableIdEqualTo(tableId);
|
||||
datasetTableUnionExample.or(criteriaTarget);
|
||||
datasetTableUnionMapper.deleteByExample(datasetTableUnionExample);
|
||||
}
|
||||
|
||||
private void checkUnion(DatasetTableUnion datasetTableUnion) {
|
||||
// check 关联关系是否存在
|
||||
DatasetTableUnionExample datasetTableUnionExample = new DatasetTableUnionExample();
|
||||
|
Loading…
Reference in New Issue
Block a user