From 75337adf7cf36d5bc08f5d132ab168e5d0f34955 Mon Sep 17 00:00:00 2001 From: junjie Date: Wed, 12 May 2021 16:39:53 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=95=B0=E6=8D=AE=E9=9B=86):=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E9=9B=86=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/dataset/DataSetTableService.java | 14 ++++-- frontend/src/views/dataset/data/UnionView.vue | 15 +++++- .../src/views/dataset/data/UpdateInfo.vue | 46 ++++++++++--------- 3 files changed, 47 insertions(+), 28 deletions(-) diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java index 626d0f5517..29f7f7afcd 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -112,7 +112,7 @@ public class DataSetTableService { return datasetTable; } - public void delete(String id) throws Exception{ + public void delete(String id) throws Exception { datasetTableMapper.deleteByPrimaryKey(id); dataSetTableFieldsService.deleteByTableId(id); // 删除同步任务 @@ -120,10 +120,11 @@ public class DataSetTableService { deleteDorisTable(id); } - private void deleteDorisTable(String datasetId) throws Exception{ + private void deleteDorisTable(String datasetId) throws Exception { String dorisTableName = DorisTableUtils.dorisName(datasetId); - Datasource dorisDatasource = (Datasource)CommonBeanFactory.getBean("DorisDatasource"); - JdbcProvider jdbcProvider = CommonBeanFactory.getBean(JdbcProvider.class);; + Datasource dorisDatasource = (Datasource) CommonBeanFactory.getBean("DorisDatasource"); + JdbcProvider jdbcProvider = CommonBeanFactory.getBean(JdbcProvider.class); + ; DatasourceRequest datasourceRequest = new DatasourceRequest(); datasourceRequest.setDatasource(dorisDatasource); datasourceRequest.setQuery("drop table if exists " + dorisTableName); @@ -548,7 +549,10 @@ public class DataSetTableService { JdbcProvider jdbcProvider = CommonBeanFactory.getBean(JdbcProvider.class); DatasourceRequest datasourceRequest = new DatasourceRequest(); datasourceRequest.setDatasource(dorisDatasource); - datasourceRequest.setQuery("CREATE VIEW " + dorisTableName + " AS (" + customSql + ")"); + // 先删除表 + datasourceRequest.setQuery("DROP VIEW IF EXISTS " + dorisTableName); + jdbcProvider.exec(datasourceRequest); + datasourceRequest.setQuery("CREATE VIEW IF NOT EXISTS" + dorisTableName + " AS (" + customSql + ")"); jdbcProvider.exec(datasourceRequest); } diff --git a/frontend/src/views/dataset/data/UnionView.vue b/frontend/src/views/dataset/data/UnionView.vue index 3f5091768d..19edacf70c 100644 --- a/frontend/src/views/dataset/data/UnionView.vue +++ b/frontend/src/views/dataset/data/UnionView.vue @@ -5,6 +5,8 @@