diff --git a/internal/generate/query.go b/internal/generate/query.go index c9e27e10..c18d2ec9 100644 --- a/internal/generate/query.go +++ b/internal/generate/query.go @@ -191,6 +191,7 @@ func (b *QueryStructMeta) ReviseDIYMethod() error { } if tableName == nil { methods = append(methods, parser.DefaultMethodTableName(b.ModelStructName)) + methods = append(methods, parser.DefaultMethodTableComment(b.ModelStructName, b.TableComment)) } else { // e.g. return "@@table" => return TableNameUser tableName.Body = strings.ReplaceAll(tableName.Body, "\"@@table\"", "TableName"+b.ModelStructName) diff --git a/internal/parser/method.go b/internal/parser/method.go index b5800830..2811559d 100644 --- a/internal/parser/method.go +++ b/internal/parser/method.go @@ -19,6 +19,16 @@ func DefaultMethodTableName(structName string) *Method { } } +func DefaultMethodTableComment(structName, comment string) *Method { + return &Method{ + Receiver: Param{IsPointer: true, Type: structName}, + MethodName: "TableComment", + Doc: fmt.Sprint("TableComment ", structName, "'s table comment "), + Result: []Param{{Type: "string"}}, + Body: fmt.Sprintf("{\n\treturn `%s`\n} ", comment), + } +} + // Method Apply to query struct and base struct custom method type Method struct { Receiver Param