diff --git a/config.yml b/config.yml index 58c42cc..ee706a4 100644 --- a/config.yml +++ b/config.yml @@ -4,7 +4,7 @@ out_dir : ./model # 输出目录 url_tag : json # web url tag(json,db(https://github.com/google/go-querystring)) language : # 语言(English,中 文) db_tag : gorm # 数据库标签(gorm,db) -singular_table : false # 单表模式:true:禁用表名复数,false:采用表明复数 参考:gorm.SingularTable +singular_table : true # 单表模式:true:禁用表名复数,false:采用表明复数 参考:gorm.SingularTable simple : false # 简单输出(默认gorm标签不输出) is_out_sql : false # 是否输出 sql 原信息 is_out_func : true # 是否输出 快捷函数 diff --git a/data/cmd/cmd.go b/data/cmd/cmd.go index 5c1eeec..8c9bca4 100644 --- a/data/cmd/cmd.go +++ b/data/cmd/cmd.go @@ -57,7 +57,7 @@ func init() { rootCmd.PersistentFlags().StringVarP(&outDir, "outdir", "o", "", "输出目录") rootCmd.MarkFlagRequired("outdir") - rootCmd.PersistentFlags().BoolVarP(&singularTable, "singular", "s", false, "是否禁用表名复数") + rootCmd.PersistentFlags().BoolVarP(&singularTable, "singular", "s", true, "是否禁用表名复数") rootCmd.MarkFlagRequired("singular") rootCmd.PersistentFlags().BoolVarP(&foreignKey, "foreign", "f", false, "是否导出外键关联") diff --git a/data/view/genstruct/common.go b/data/view/genstruct/common.go index e62c77b..f61b068 100644 --- a/data/view/genstruct/common.go +++ b/data/view/genstruct/common.go @@ -135,8 +135,12 @@ func (s *GenStruct) Generates() []string { } p.Add(s.Notes) p.Add("type", s.Name, "struct {") + mp := make(map[string]bool, len(s.Em)) for _, v := range s.Em { - p.Add(v.Generate()) + if !mp[v.Name] { + mp[v.Name] = true + p.Add(v.Generate()) + } } p.Add("}") diff --git a/data/view/model/common.go b/data/view/model/common.go index 4e22b6b..df51b6b 100644 --- a/data/view/model/common.go +++ b/data/view/model/common.go @@ -15,8 +15,8 @@ import ( // getCamelName Big Hump or Capital Letter.大驼峰或者首字母大写 func getCamelName(name string) string { - if config.GetSingularTable() { // If the table name plural is globally disabled.如果全局禁用表名复数 - return titleCase(name) + if !config.GetSingularTable() { // If the table name plural is globally disabled.如果全局禁用表名复数 + return mybigcamel.Marshal(strings.TrimSuffix(name, "s")) } return mybigcamel.Marshal(name)