From fabea4c4485ad5223b375e62f6d46fdffb7da81c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=96=B9=E8=88=AA?= Date: Mon, 11 Apr 2022 10:11:40 +0800 Subject: [PATCH] fix bug: crash when generate model with goctl. (#1777) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix bug: crash when generate model with goctl. situation: column name with line. CREATE TABLE test ( id int NOT NULL AUTO_INCREMENT, zh-cn text CHARACTER SET utf8 COLLATE utf8_general_ci COMMENT '中文简体', PRIMARY KEY (id) USING BTREE, ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; * group imports group imports * Use go-zero/tools/goctl/util/string.go func SafeString(in string) string { instead of ReplaceAll Co-authored-by: 方航 --- tools/goctl/model/sql/gen/field.go | 2 +- tools/goctl/model/sql/gen/insert.go | 2 +- tools/goctl/model/sql/gen/update.go | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/goctl/model/sql/gen/field.go b/tools/goctl/model/sql/gen/field.go index 86301688..a35c7332 100644 --- a/tools/goctl/model/sql/gen/field.go +++ b/tools/goctl/model/sql/gen/field.go @@ -38,7 +38,7 @@ func genField(table Table, field *parser.Field) (string, error) { output, err := util.With("types"). Parse(text). Execute(map[string]interface{}{ - "name": field.Name.ToCamel(), + "name": util.SafeString(field.Name.ToCamel()), "type": field.DataType, "tag": tag, "hasComment": field.Comment != "", diff --git a/tools/goctl/model/sql/gen/insert.go b/tools/goctl/model/sql/gen/insert.go index 36cfe8e1..1ab93069 100644 --- a/tools/goctl/model/sql/gen/insert.go +++ b/tools/goctl/model/sql/gen/insert.go @@ -30,7 +30,7 @@ func genInsert(table Table, withCache, postgreSql bool) (string, string, error) expressionValues := make([]string, 0) var count int for _, field := range table.Fields { - camel := field.Name.ToCamel() + camel := util.SafeString(field.Name.ToCamel()) if camel == "CreateTime" || camel == "UpdateTime" { continue } diff --git a/tools/goctl/model/sql/gen/update.go b/tools/goctl/model/sql/gen/update.go index 57ce3625..189eea78 100644 --- a/tools/goctl/model/sql/gen/update.go +++ b/tools/goctl/model/sql/gen/update.go @@ -14,7 +14,7 @@ import ( func genUpdate(table Table, withCache, postgreSql bool) (string, string, error) { expressionValues := make([]string, 0) for _, field := range table.Fields { - camel := field.Name.ToCamel() + camel := util.SafeString(field.Name.ToCamel()) if camel == "CreateTime" || camel == "UpdateTime" { continue }