fix: 修复无comment时, 生成注释会出现panic问题

This commit is contained in:
2025-08-17 12:15:16 +08:00
parent 8c75d91915
commit e2ac04a45d

View File

@ -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