From b8a757e70fa4226a6aadcc7516367835999208d0 Mon Sep 17 00:00:00 2001 From: vran Date: Mon, 9 May 2022 19:45:12 +0800 Subject: [PATCH] fix: mysql trigger save failed by time formate error (#159) --- .../provider/mysql/MysqlTableTriggerMetaProvider.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/meta/src/main/java/com/databasir/core/meta/provider/mysql/MysqlTableTriggerMetaProvider.java b/meta/src/main/java/com/databasir/core/meta/provider/mysql/MysqlTableTriggerMetaProvider.java index 03144a4..a1abad8 100644 --- a/meta/src/main/java/com/databasir/core/meta/provider/mysql/MysqlTableTriggerMetaProvider.java +++ b/meta/src/main/java/com/databasir/core/meta/provider/mysql/MysqlTableTriggerMetaProvider.java @@ -12,10 +12,15 @@ import java.sql.SQLException; import java.util.ArrayList; import java.util.Collections; import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; @Slf4j public class MysqlTableTriggerMetaProvider implements TriggerMetaProvider { + private static final Pattern DATE_TIME_PATTERN = + Pattern.compile("(\\d{4}-\\d{2}-\\d{2} \\d{2}:\\d{2}:\\d{2})(.*)"); + @Override public List selectTriggers(Connection connection, TableCondition condition) { String sql = "SELECT TRIGGER_CATALOG,\n" @@ -50,6 +55,12 @@ public class MysqlTableTriggerMetaProvider implements TriggerMetaProvider { String timing = results.getString("ACTION_TIMING"); String manipulation = results.getString("EVENT_MANIPULATION"); String created = results.getString("CREATED"); + if (created != null) { + Matcher matcher = DATE_TIME_PATTERN.matcher(created); + if (matcher.matches()) { + created = matcher.group(1); + } + } TriggerMeta meta = TriggerMeta.builder() .name(name) .manipulation(manipulation)