diff --git a/sql2go/parser.go b/sql2go/parser.go index 0aa588e..d67f9aa 100644 --- a/sql2go/parser.go +++ b/sql2go/parser.go @@ -9,9 +9,10 @@ package sql2go import ( "errors" - wrapperType "git.zhangdeman.cn/zhangdeman/wrapper" "strings" + wrapperType "git.zhangdeman.cn/zhangdeman/wrapper" + "github.com/xwb1989/sqlparser" ) @@ -93,11 +94,14 @@ func generateTable(tableName string, modelStructName string, columnList []*sqlpa for _, item := range columnList { comment := "" - if item.Type.Comment == nil { + if item.Type.Comment == nil || item.Type.Comment.Val == nil { comment = item.Name.String() } else { comment = string(item.Type.Comment.Val) } + if comment == "" { + comment = item.Name.String() + } data := map[string]string{ "{FIELD}": wrapperType.String(item.Name.String()).SnakeCaseToCamel(), "{COLUMN}": item.Name.String(), @@ -153,14 +157,17 @@ func generateTableColumnDefined(modelStructName string, columnList []*sqlparser. structFieldDescInstanceResult := "&" + columnDefineName + "{ \n" structFieldCommentInstanceResult := "map[string]string{ \n" for _, column := range columnList { + comment := column.Name.String() + if nil != column.Type.Comment { + comment = string(column.Type.Comment.Val) + } + if comment == "" { + comment = column.Name.String() + } dataMap := map[string]string{ - "{FIELD}": wrapperType.String(column.Name.String()).SnakeCaseToCamel(), - "{JSON_TAG}": column.Name.String(), - "{FIELD_COMMENT}": wrapperType.TernaryOperator.String( - column.Type.Comment == nil, - wrapperType.String(column.Name.String()), - wrapperType.String(string(column.Type.Comment.Val)), - ).Value(), + "{FIELD}": wrapperType.String(column.Name.String()).SnakeCaseToCamel(), + "{JSON_TAG}": column.Name.String(), + "{FIELD_COMMENT}": comment, } structFieldDefine := TableColumnTpl