diff --git a/cmd/gf/internal/cmd/cmd_z_unit_gen_dao_issue_test.go b/cmd/gf/internal/cmd/cmd_z_unit_gen_dao_issue_test.go index 55c30d1bb58..0ba10c46ad4 100644 --- a/cmd/gf/internal/cmd/cmd_z_unit_gen_dao_issue_test.go +++ b/cmd/gf/internal/cmd/cmd_z_unit_gen_dao_issue_test.go @@ -316,7 +316,7 @@ func Test_Gen_Dao_Issue3459(t *testing.T) { in = gendao.CGenDaoInput{ Path: path, Link: link, - Tables: "", + Tables: "table_user", TablesEx: "", Group: group, Prefix: "", diff --git a/cmd/gf/internal/cmd/cmd_z_unit_gen_dao_test.go b/cmd/gf/internal/cmd/cmd_z_unit_gen_dao_test.go index 8d20fe8c169..7cd7f9712d2 100644 --- a/cmd/gf/internal/cmd/cmd_z_unit_gen_dao_test.go +++ b/cmd/gf/internal/cmd/cmd_z_unit_gen_dao_test.go @@ -47,7 +47,7 @@ func Test_Gen_Dao_Default(t *testing.T) { in = gendao.CGenDaoInput{ Path: path, Link: link, - Tables: "", + Tables: "table_user", TablesEx: "", Group: group, Prefix: "", @@ -139,7 +139,7 @@ func Test_Gen_Dao_TypeMapping(t *testing.T) { in = gendao.CGenDaoInput{ Path: path, Link: link, - Tables: "", + Tables: "table_user", TablesEx: "", Group: group, Prefix: "", @@ -241,7 +241,7 @@ func Test_Gen_Dao_FieldMapping(t *testing.T) { in = gendao.CGenDaoInput{ Path: path, Link: link, - Tables: "", + Tables: "table_user", TablesEx: "", Group: group, Prefix: "", diff --git a/cmd/gf/internal/cmd/gendao/gendao_do.go b/cmd/gf/internal/cmd/gendao/gendao_do.go index 98afd6d7837..1aee28606fb 100644 --- a/cmd/gf/internal/cmd/gendao/gendao_do.go +++ b/cmd/gf/internal/cmd/gendao/gendao_do.go @@ -47,12 +47,13 @@ func generateDo(ctx context.Context, in CGenDaoInternalInput) { ) // replace all types to interface{}. structDefinition, _ = gregex.ReplaceStringFuncMatch( - "([A-Z]\\w*?)\\s+([\\w\\*\\.]+?)\\s+(//)", + //"([A-Z]\\w*?)\\s+([\\w\\*\\.]+?)\\s+(//)", + "([A-Z]\\w*?)\\s+([\\w\\*\\.]+?)\\s+(`[\\w|:|\"]+?\\s+`)(//)", structDefinition, func(match []string) string { // If the type is already a pointer/slice/map, it does nothing. if !gstr.HasPrefix(match[2], "*") && !gstr.HasPrefix(match[2], "[]") && !gstr.HasPrefix(match[2], "map") { - return fmt.Sprintf(`%s interface{} %s`, match[1], match[3]) + return fmt.Sprintf(`%s interface{} %s %s`, match[1], match[3], match[4]) } return match[0] }, diff --git a/cmd/gf/internal/cmd/gendao/gendao_structure.go b/cmd/gf/internal/cmd/gendao/gendao_structure.go index 01f334cb987..3aac6b32ffb 100644 --- a/cmd/gf/internal/cmd/gendao/gendao_structure.go +++ b/cmd/gf/internal/cmd/gendao/gendao_structure.go @@ -71,7 +71,7 @@ func generateStructFieldDefinition( err error localTypeName gdb.LocalType localTypeNameStr string - jsonTag = gstr.CaseConvert(field.Name, gstr.CaseTypeMatch(in.JsonCase)) + jsonTag = gstr.CaseConvert(strings.TrimPrefix(field.Name, in.RemoveFieldPrefix), gstr.CaseTypeMatch(in.JsonCase)) ) if in.TypeMapping != nil && len(in.TypeMapping) > 0 { @@ -145,10 +145,10 @@ func generateStructFieldDefinition( } attrLines = append(attrLines, fmt.Sprintf(` #%sjson:"%s"`, tagKey, jsonTag)) // orm tag - if !in.IsDo { - // entity - attrLines = append(attrLines, fmt.Sprintf(` #orm:"%s"`, field.Name)) - } + //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))) diff --git a/cmd/gf/internal/cmd/testdata/gendao/generated_user/model/do/table_user.go b/cmd/gf/internal/cmd/testdata/gendao/generated_user/model/do/table_user.go index 656fb9c3db4..92fed3af681 100644 --- a/cmd/gf/internal/cmd/testdata/gendao/generated_user/model/do/table_user.go +++ b/cmd/gf/internal/cmd/testdata/gendao/generated_user/model/do/table_user.go @@ -12,11 +12,11 @@ import ( // TableUser is the golang structure of table table_user for DAO operations like Where/Data. type TableUser struct { g.Meta `orm:"table:table_user, do:true"` - Id interface{} // User ID - Passport interface{} // User Passport - Password interface{} // User Password - Nickname interface{} // User Nickname - Score interface{} // Total score amount. - CreateAt *gtime.Time // Created Time - UpdateAt *gtime.Time // Updated Time + Id interface{} `orm:"id" ` // User ID + Passport interface{} `orm:"passport" ` // User Passport + Password interface{} `orm:"password" ` // User Password + Nickname interface{} `orm:"nickname" ` // User Nickname + Score interface{} `orm:"score" ` // Total score amount. + CreateAt *gtime.Time `orm:"create_at" ` // Created Time + UpdateAt *gtime.Time `orm:"update_at" ` // Updated Time } diff --git a/cmd/gf/internal/cmd/testdata/gendao/generated_user_field_mapping/model/do/table_user.go b/cmd/gf/internal/cmd/testdata/gendao/generated_user_field_mapping/model/do/table_user.go index 656fb9c3db4..92fed3af681 100644 --- a/cmd/gf/internal/cmd/testdata/gendao/generated_user_field_mapping/model/do/table_user.go +++ b/cmd/gf/internal/cmd/testdata/gendao/generated_user_field_mapping/model/do/table_user.go @@ -12,11 +12,11 @@ import ( // TableUser is the golang structure of table table_user for DAO operations like Where/Data. type TableUser struct { g.Meta `orm:"table:table_user, do:true"` - Id interface{} // User ID - Passport interface{} // User Passport - Password interface{} // User Password - Nickname interface{} // User Nickname - Score interface{} // Total score amount. - CreateAt *gtime.Time // Created Time - UpdateAt *gtime.Time // Updated Time + Id interface{} `orm:"id" ` // User ID + Passport interface{} `orm:"passport" ` // User Passport + Password interface{} `orm:"password" ` // User Password + Nickname interface{} `orm:"nickname" ` // User Nickname + Score interface{} `orm:"score" ` // Total score amount. + CreateAt *gtime.Time `orm:"create_at" ` // Created Time + UpdateAt *gtime.Time `orm:"update_at" ` // Updated Time } diff --git a/cmd/gf/internal/cmd/testdata/gendao/generated_user_sqlite3/model/do/table_user.go b/cmd/gf/internal/cmd/testdata/gendao/generated_user_sqlite3/model/do/table_user.go index 75fcb5db1b7..5cb3b4719e3 100644 --- a/cmd/gf/internal/cmd/testdata/gendao/generated_user_sqlite3/model/do/table_user.go +++ b/cmd/gf/internal/cmd/testdata/gendao/generated_user_sqlite3/model/do/table_user.go @@ -12,10 +12,10 @@ import ( // TableUser is the golang structure of table table_user for DAO operations like Where/Data. type TableUser struct { g.Meta `orm:"table:table_user, do:true"` - Id interface{} // - Passport interface{} // - Password interface{} // - Nickname interface{} // - CreatedAt *gtime.Time // - UpdatedAt *gtime.Time // + Id interface{} `orm:"id" ` // + Passport interface{} `orm:"passport" ` // + Password interface{} `orm:"password" ` // + Nickname interface{} `orm:"nickname" ` // + CreatedAt *gtime.Time `orm:"created_at" ` // + UpdatedAt *gtime.Time `orm:"updated_at" ` // } diff --git a/cmd/gf/internal/cmd/testdata/gendao/generated_user_type_mapping/model/do/table_user.go b/cmd/gf/internal/cmd/testdata/gendao/generated_user_type_mapping/model/do/table_user.go index 656fb9c3db4..92fed3af681 100644 --- a/cmd/gf/internal/cmd/testdata/gendao/generated_user_type_mapping/model/do/table_user.go +++ b/cmd/gf/internal/cmd/testdata/gendao/generated_user_type_mapping/model/do/table_user.go @@ -12,11 +12,11 @@ import ( // TableUser is the golang structure of table table_user for DAO operations like Where/Data. type TableUser struct { g.Meta `orm:"table:table_user, do:true"` - Id interface{} // User ID - Passport interface{} // User Passport - Password interface{} // User Password - Nickname interface{} // User Nickname - Score interface{} // Total score amount. - CreateAt *gtime.Time // Created Time - UpdateAt *gtime.Time // Updated Time + Id interface{} `orm:"id" ` // User ID + Passport interface{} `orm:"passport" ` // User Passport + Password interface{} `orm:"password" ` // User Password + Nickname interface{} `orm:"nickname" ` // User Nickname + Score interface{} `orm:"score" ` // Total score amount. + CreateAt *gtime.Time `orm:"create_at" ` // Created Time + UpdateAt *gtime.Time `orm:"update_at" ` // Updated Time } diff --git a/cmd/gf/internal/cmd/testdata/issue/2572/sql1.sql b/cmd/gf/internal/cmd/testdata/issue/2572/sql1.sql index 2877f1f0d06..5ef14dcc2ba 100644 --- a/cmd/gf/internal/cmd/testdata/issue/2572/sql1.sql +++ b/cmd/gf/internal/cmd/testdata/issue/2572/sql1.sql @@ -1,3 +1,4 @@ +DROP TABLE IF EXISTS `user1`; CREATE TABLE `user1` ( `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT 'User ID', `passport` varchar(45) NOT NULL COMMENT 'User Passport', diff --git a/cmd/gf/internal/cmd/testdata/issue/2572/sql2.sql b/cmd/gf/internal/cmd/testdata/issue/2572/sql2.sql index ca450aa72f0..8f5c5488a96 100644 --- a/cmd/gf/internal/cmd/testdata/issue/2572/sql2.sql +++ b/cmd/gf/internal/cmd/testdata/issue/2572/sql2.sql @@ -1,3 +1,4 @@ +DROP TABLE IF EXISTS `user2`; CREATE TABLE `user2` ( `id` int unsigned NOT NULL AUTO_INCREMENT COMMENT 'User ID', `passport` varchar(45) NOT NULL COMMENT 'User Passport', diff --git a/cmd/gf/internal/cmd/testdata/issue/3749/model/do/table_user.go b/cmd/gf/internal/cmd/testdata/issue/3749/model/do/table_user.go index 6fe512a4401..c4c5a81e554 100644 --- a/cmd/gf/internal/cmd/testdata/issue/3749/model/do/table_user.go +++ b/cmd/gf/internal/cmd/testdata/issue/3749/model/do/table_user.go @@ -12,11 +12,11 @@ import ( // TableUser is the golang structure of table table_user for DAO operations like Where/Data. type TableUser struct { g.Meta `orm:"table:table_user, do:true"` - Id interface{} // User ID - ParentId interface{} // - Passport interface{} // User Passport - PassWord interface{} // User Password - Nickname2 interface{} // User Nickname - CreateAt *gtime.Time // Created Time - UpdateAt *gtime.Time // Updated Time + Id interface{} `orm:"Id" ` // User ID + ParentId interface{} `orm:"parentId" ` // + Passport interface{} `orm:"PASSPORT" ` // User Passport + PassWord interface{} `orm:"PASS_WORD" ` // User Password + Nickname2 interface{} `orm:"NICKNAME2" ` // User Nickname + CreateAt *gtime.Time `orm:"create_at" ` // Created Time + UpdateAt *gtime.Time `orm:"update_at" ` // Updated Time }