From b04065457483f94aac97ce19c3b42d42cbf0d2c1 Mon Sep 17 00:00:00 2001 From: wln32 <49137144+wln32@users.noreply.github.com> Date: Sun, 7 Apr 2024 19:19:07 +0800 Subject: [PATCH] enhance: add ORM tag to the entity result of command `gen dao` to make entity assignment more faster (#3454) --- cmd/gf/internal/cmd/gendao/gendao_structure.go | 11 ++++++++--- .../generated_user/model/entity/table_user.go | 14 +++++++------- .../model/entity/table_user.go | 14 +++++++------- .../internal/cmd/testdata/issue/2746/issue_2746.go | 10 +++++----- 4 files changed, 27 insertions(+), 22 deletions(-) diff --git a/cmd/gf/internal/cmd/gendao/gendao_structure.go b/cmd/gf/internal/cmd/gendao/gendao_structure.go index c4398c8c1e7..f6c585e4bf2 100644 --- a/cmd/gf/internal/cmd/gendao/gendao_structure.go +++ b/cmd/gf/internal/cmd/gendao/gendao_structure.go @@ -135,9 +135,14 @@ func generateStructFieldDefinition( " #" + gstr.CaseCamel(newFiledName), " #" + localTypeNameStr, } - attrLines = append(attrLines, " #"+fmt.Sprintf(tagKey+`json:"%s"`, jsonTag)) - attrLines = append(attrLines, " #"+fmt.Sprintf(`description:"%s"`+tagKey, descriptionTag)) - attrLines = append(attrLines, " #"+fmt.Sprintf(`// %s`, formatComment(field.Comment))) + attrLines = append(attrLines, fmt.Sprintf(` #%sjson:"%s"`, tagKey, jsonTag)) + // orm tag + if !in.IsDo { + // entity + attrLines = append(attrLines, fmt.Sprintf(` #orm:"%s"`, field.Name)) + } + attrLines = append(attrLines, fmt.Sprintf(` #description:"%s"%s`, descriptionTag, tagKey)) + attrLines = append(attrLines, fmt.Sprintf(` #// %s`, formatComment(field.Comment))) for k, v := range attrLines { if in.NoJsonTag { diff --git a/cmd/gf/internal/cmd/testdata/gendao/generated_user/model/entity/table_user.go b/cmd/gf/internal/cmd/testdata/gendao/generated_user/model/entity/table_user.go index 22a8f0e96b7..edde0adecf7 100644 --- a/cmd/gf/internal/cmd/testdata/gendao/generated_user/model/entity/table_user.go +++ b/cmd/gf/internal/cmd/testdata/gendao/generated_user/model/entity/table_user.go @@ -10,11 +10,11 @@ import ( // TableUser is the golang structure for table table_user. type TableUser struct { - Id uint `json:"ID" ` // User ID - Passport string `json:"PASSPORT" ` // User Passport - Password string `json:"PASSWORD" ` // User Password - Nickname string `json:"NICKNAME" ` // User Nickname - Score float64 `json:"SCORE" ` // Total score amount. - CreateAt *gtime.Time `json:"CREATE_AT" ` // Created Time - UpdateAt *gtime.Time `json:"UPDATE_AT" ` // Updated Time + Id uint `json:"ID" orm:"id" ` // User ID + Passport string `json:"PASSPORT" orm:"passport" ` // User Passport + Password string `json:"PASSWORD" orm:"password" ` // User Password + Nickname string `json:"NICKNAME" orm:"nickname" ` // User Nickname + Score float64 `json:"SCORE" orm:"score" ` // Total score amount. + CreateAt *gtime.Time `json:"CREATE_AT" orm:"create_at" ` // Created Time + UpdateAt *gtime.Time `json:"UPDATE_AT" orm:"update_at" ` // Updated Time } diff --git a/cmd/gf/internal/cmd/testdata/gendao/generated_user_type_mapping/model/entity/table_user.go b/cmd/gf/internal/cmd/testdata/gendao/generated_user_type_mapping/model/entity/table_user.go index f0cadddbb55..c447af20ce8 100644 --- a/cmd/gf/internal/cmd/testdata/gendao/generated_user_type_mapping/model/entity/table_user.go +++ b/cmd/gf/internal/cmd/testdata/gendao/generated_user_type_mapping/model/entity/table_user.go @@ -11,11 +11,11 @@ import ( // TableUser is the golang structure for table table_user. type TableUser struct { - Id int64 `json:"id" ` // User ID - Passport string `json:"passport" ` // User Passport - Password string `json:"password" ` // User Password - Nickname string `json:"nickname" ` // User Nickname - Score decimal.Decimal `json:"score" ` // Total score amount. - CreateAt *gtime.Time `json:"createAt" ` // Created Time - UpdateAt *gtime.Time `json:"updateAt" ` // Updated Time + Id int64 `json:"id" orm:"id" ` // User ID + Passport string `json:"passport" orm:"passport" ` // User Passport + Password string `json:"password" orm:"password" ` // User Password + Nickname string `json:"nickname" orm:"nickname" ` // User Nickname + Score decimal.Decimal `json:"score" orm:"score" ` // Total score amount. + CreateAt *gtime.Time `json:"createAt" orm:"create_at" ` // Created Time + UpdateAt *gtime.Time `json:"updateAt" orm:"update_at" ` // Updated Time } diff --git a/cmd/gf/internal/cmd/testdata/issue/2746/issue_2746.go b/cmd/gf/internal/cmd/testdata/issue/2746/issue_2746.go index 0567481005a..af2b98cd5c2 100644 --- a/cmd/gf/internal/cmd/testdata/issue/2746/issue_2746.go +++ b/cmd/gf/internal/cmd/testdata/issue/2746/issue_2746.go @@ -10,9 +10,9 @@ import ( // Issue2746 is the golang structure for table issue2746. type Issue2746 struct { - Id uint `json:"ID" ` // User ID - Nickname string `json:"NICKNAME" ` // User Nickname - Tag *gjson.Json `json:"TAG" ` // - Info string `json:"INFO" ` // - Tag2 *gjson.Json `json:"TAG_2" ` // Tag2 + Id uint `json:"ID" orm:"id" ` // User ID + Nickname string `json:"NICKNAME" orm:"nickname" ` // User Nickname + Tag *gjson.Json `json:"TAG" orm:"tag" ` // + Info string `json:"INFO" orm:"info" ` // + Tag2 *gjson.Json `json:"TAG_2" orm:"tag2" ` // Tag2 }