From b2018759d9117560366eda58734b83298d201361 Mon Sep 17 00:00:00 2001 From: aaron <462826@qq.com> Date: Mon, 27 Mar 2023 15:47:21 +0800 Subject: [PATCH] get mysql column type --- demo/tables.sql | 2 +- internal/pkg/service/from-sql.go | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/demo/tables.sql b/demo/tables.sql index bef8bd7d..a19cf5db 100644 --- a/demo/tables.sql +++ b/demo/tables.sql @@ -4,7 +4,7 @@ CREATE TABLE `biz_project` ( `created_at` datetime(3) DEFAULT NULL, `updated_at` datetime(3) DEFAULT NULL, `deleted_at` datetime(3) DEFAULT NULL, - `name` longtext, + `name` varchar, `desc` longtext, `is_default` longtext, `disabled` tinyint(1) DEFAULT NULL, diff --git a/internal/pkg/service/from-sql.go b/internal/pkg/service/from-sql.go index 5d523263..515bfb57 100644 --- a/internal/pkg/service/from-sql.go +++ b/internal/pkg/service/from-sql.go @@ -177,12 +177,14 @@ func (s *SqlParseService) getFieldTypeAndName(item []string) (typ, name string) myExp := regexp.MustCompile(colName + `\s([A-Z]+)\(([^,]*),?([^,]*)\)`) result := myExp.FindStringSubmatch(item[0]) - if result != nil { + if result != nil { // int with (10) typ = result[1] } else { typ = strings.Split(strings.Fields(item[0])[1], "(")[0] } + typ = strings.TrimSuffix(typ, ",") + return } -- GitLab