fix bug: crash when generate model with goctl. (#1777)

* 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: 方航 <fanghang@tange.ai>
master
方航 3 years ago committed by GitHub
parent 6d9dfc08f9
commit fabea4c448
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -38,7 +38,7 @@ func genField(table Table, field *parser.Field) (string, error) {
output, err := util.With("types"). output, err := util.With("types").
Parse(text). Parse(text).
Execute(map[string]interface{}{ Execute(map[string]interface{}{
"name": field.Name.ToCamel(), "name": util.SafeString(field.Name.ToCamel()),
"type": field.DataType, "type": field.DataType,
"tag": tag, "tag": tag,
"hasComment": field.Comment != "", "hasComment": field.Comment != "",

@ -30,7 +30,7 @@ func genInsert(table Table, withCache, postgreSql bool) (string, string, error)
expressionValues := make([]string, 0) expressionValues := make([]string, 0)
var count int var count int
for _, field := range table.Fields { for _, field := range table.Fields {
camel := field.Name.ToCamel() camel := util.SafeString(field.Name.ToCamel())
if camel == "CreateTime" || camel == "UpdateTime" { if camel == "CreateTime" || camel == "UpdateTime" {
continue continue
} }

@ -14,7 +14,7 @@ import (
func genUpdate(table Table, withCache, postgreSql bool) (string, string, error) { func genUpdate(table Table, withCache, postgreSql bool) (string, string, error) {
expressionValues := make([]string, 0) expressionValues := make([]string, 0)
for _, field := range table.Fields { for _, field := range table.Fields {
camel := field.Name.ToCamel() camel := util.SafeString(field.Name.ToCamel())
if camel == "CreateTime" || camel == "UpdateTime" { if camel == "CreateTime" || camel == "UpdateTime" {
continue continue
} }

Loading…
Cancel
Save