From 23b89a4518fe87f10b00dba79990117d3119b045 Mon Sep 17 00:00:00 2001 From: yaoq Date: Wed, 12 Oct 2022 13:12:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../system/canal/file/common/AbstractFileWork.java | 22 +++++++++++++++++++++- .../src/main/resources/config/application.yaml | 6 +++++- 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/smtweb-framework/canal/file/src/main/java/cc/smtweb/system/canal/file/common/AbstractFileWork.java b/smtweb-framework/canal/file/src/main/java/cc/smtweb/system/canal/file/common/AbstractFileWork.java index fdc6483..69bb24e 100644 --- a/smtweb-framework/canal/file/src/main/java/cc/smtweb/system/canal/file/common/AbstractFileWork.java +++ b/smtweb-framework/canal/file/src/main/java/cc/smtweb/system/canal/file/common/AbstractFileWork.java @@ -90,8 +90,10 @@ public abstract class AbstractFileWork { int deleteSize = 0; int createSize = 0; int alterSize = 0; + int dropSize = 0; for (CanalVO canal : list) { if (canal.createIs()) { + doDropSql(canal); doCreateSql(canal); createSize++; continue; @@ -101,6 +103,11 @@ public abstract class AbstractFileWork { alterSize++; continue; } + if (canal.dropIs()) { + doDropSql(canal); + dropSize++; + continue; + } if (canal.insertIs()) { doInsertSql(canal); insertSize++; @@ -116,7 +123,7 @@ public abstract class AbstractFileWork { deleteSize++; } } - log.debug("[解析canal文件]:::file:" + file.getName() + " insert size:[" + insertSize + "] update size:[" + updateSize + "] delete size:[" + deleteSize + "] create size:[" + createSize + "] alter size:[" + alterSize + "]"); + log.debug("[解析canal文件]:::file:" + file.getName() + " insert size:[" + insertSize + "] update size:[" + updateSize + "] delete size:[" + deleteSize + "] create size:[" + createSize + "] alter size:[" + alterSize + "]" + "drop size:[" + dropSize + "]"); } protected abstract String getDbType(); @@ -125,6 +132,19 @@ public abstract class AbstractFileWork { protected abstract void doAlterSql(CanalVO canalVO); + + protected void doDropSql(CanalVO canalVO) { + String sql = ""; + if (!StringUtil.isEmpty(getSchemaName(canalVO))) { + sql = "drop table if exists " + getSchemaName(canalVO) + "." + canalVO.getTableName(); + + } else { + sql = "drop table if exists " + canalVO.getTableName(); + } + log.debug("sql:::" + sql); + getDbEngine().update(sql); + } + protected String getSchemaName(CanalVO canalVO) { return ""; } diff --git a/smtweb-framework/canal/file/src/main/resources/config/application.yaml b/smtweb-framework/canal/file/src/main/resources/config/application.yaml index 80bdf84..b7df069 100644 --- a/smtweb-framework/canal/file/src/main/resources/config/application.yaml +++ b/smtweb-framework/canal/file/src/main/resources/config/application.yaml @@ -20,7 +20,7 @@ devtools: enabled: false # 热部署开关 additional-paths: src/main/java #重启目录 server: - port: 8088 + port: 8081 servlet: context-path: logging: @@ -38,6 +38,9 @@ spring: url: jdbc:kingbase8://10.176.246.198:54321/pgzx?useUnicode=true&characterEncoding=utf-8 username: 'zhengxie' password: '%TGB6yhn' +# url: jdbc:kingbase8://172.28.123.205:54321/HLJTY?useUnicode=true&characterEncoding=utf-8 +# username: system +# password: system servlet: multipart: max-file-size: 104857600000 @@ -55,6 +58,7 @@ canal: file: enable: true path: /data/canalFile + #path: E:/canalFile # http 规则配置 http-config: