diff --git a/README_zh_cn.md b/README_zh_cn.md index f04147b..aa20f13 100644 --- a/README_zh_cn.md +++ b/README_zh_cn.md @@ -62,7 +62,11 @@ db_info: password : qwer database : oauth_db type: 0 # 数据库类型:0:mysql , 1:sqlite , 2:mssql - +self_type_define: # 自定义数据类型映射 + datetime: time.Time + date: time.Time +out_file_name: "" # 自定义生成文件名 +web_tag_type: 0 # json tag类型 0: 小驼峰 1: 下划线 ``` diff --git a/config.yml b/config.yml index 185d1a8..2b333c7 100644 --- a/config.yml +++ b/config.yml @@ -21,11 +21,11 @@ db_info: password : 123456 database : matrix type: 0 # 数据库类型:0:mysql , 1:sqlite , 2:mssql -self_define_type_mysql_dic_map: # 自定义数据类型映射 +self_type_define: # 自定义数据类型映射 datetime: time.Time - date: time.Time + time: time.Time out_file_name: "" # 自定义生成文件名 -web_tag_type: 0 # json tag类型 0: 下划线 1: 小驼峰 +web_tag_type: 0 # json tag类型 0: 小驼峰 1: 下划线 # sqlite # db_info: diff --git a/data/config/MyIni.go b/data/config/MyIni.go index 0199d9d..f8e2aa0 100644 --- a/data/config/MyIni.go +++ b/data/config/MyIni.go @@ -9,24 +9,24 @@ import ( // Config custom config struct type Config struct { CfgBase `yaml:"base"` - DBInfo DBInfo `yaml:"db_info"` - OutDir string `yaml:"out_dir"` - URLTag string `yaml:"url_tag"` // url tag - Language string `yaml:"language"` // language - DbTag string `yaml:"db_tag"` // 数据库标签(gormt,db) - Simple bool `yaml:"simple"` - IsWEBTag bool `yaml:"is_web_tag"` - IsWebTagPkHidden bool `yaml:"is_web_tag_pk_hidden"` // web标记是否隐藏主键 - IsForeignKey bool `yaml:"is_foreign_key"` - IsOutSQL bool `yaml:"is_out_sql"` - IsOutFunc bool `yaml:"is_out_func"` - IsGUI bool `yaml:"is_gui"` // - IsTableName bool `yaml:"is_table_name"` - IsNullToPoint bool `yaml:"is_null_to_point"` // null to porint - TablePrefix string `yaml:"table_prefix"` // 表前缀 - SelfDefineTypeMysqlDicMap map[string]string `yaml:"self_define_type_mysql_dic_map"` - OutFileName string `yaml:"out_file_name"` - WebTagType int `yaml:"web_tag_type"` + DBInfo DBInfo `yaml:"db_info"` + OutDir string `yaml:"out_dir"` + URLTag string `yaml:"url_tag"` // url tag + Language string `yaml:"language"` // language + DbTag string `yaml:"db_tag"` // 数据库标签(gormt,db) + Simple bool `yaml:"simple"` + IsWEBTag bool `yaml:"is_web_tag"` + IsWebTagPkHidden bool `yaml:"is_web_tag_pk_hidden"` // web标记是否隐藏主键 + IsForeignKey bool `yaml:"is_foreign_key"` + IsOutSQL bool `yaml:"is_out_sql"` + IsOutFunc bool `yaml:"is_out_func"` + IsGUI bool `yaml:"is_gui"` // + IsTableName bool `yaml:"is_table_name"` + IsNullToPoint bool `yaml:"is_null_to_point"` // null to porint + TablePrefix string `yaml:"table_prefix"` // 表前缀 + SelfTypeDef map[string]string `yaml:"self_type_define"` + OutFileName string `yaml:"out_file_name"` + WebTagType int `yaml:"web_tag_type"` // 默认小驼峰 } // DBInfo mysql database information. mysql 数据库信息 @@ -225,18 +225,18 @@ func GetTablePrefix() string { return _map.TablePrefix } -// SetSelfDefineTypeMysqlDicMap 设置自定义字段映射 -func SetSelfDefineTypeMysqlDicMap(data map[string]string) { - _map.SelfDefineTypeMysqlDicMap = data +// SetSelfTypeDefine 设置自定义字段映射 +func SetSelfTypeDefine(data map[string]string) { + _map.SelfTypeDef = data } -// GetSelfDefineTypeMysqlDicMap 获取自定义字段映射 -func GetSelfDefineTypeMysqlDicMap() map[string]string { - return _map.SelfDefineTypeMysqlDicMap +// GetSelfTypeDefine 获取自定义字段映射 +func GetSelfTypeDefine() map[string]string { + return _map.SelfTypeDef } // SetOutFileName 设置输出文件名 -func SetOutFileName(s string) { +func SetOutFileName(s string) { _map.OutFileName = s } diff --git a/data/config/common.go b/data/config/common.go index c1ccd87..177d4cb 100644 --- a/data/config/common.go +++ b/data/config/common.go @@ -44,9 +44,8 @@ var _map = Config{ IsOutFunc: true, IsGUI: false, TablePrefix: "", - SelfDefineTypeMysqlDicMap: make(map[string]string), - OutFileName: "", - WebTagType: 0, + SelfTypeDef: make(map[string]string), + WebTagType: 0, } var configPath string diff --git a/data/view/model/common.go b/data/view/model/common.go index a368a0c..33086b0 100755 --- a/data/view/model/common.go +++ b/data/view/model/common.go @@ -68,7 +68,7 @@ func FilterKeywords(src string) string { // getTypeName Type acquisition filtering.类型获取过滤 func getTypeName(name string, isNull bool) string { // 优先匹配自定义类型 - selfDefineTypeMqlDicMap := config.GetSelfDefineTypeMysqlDicMap() + selfDefineTypeMqlDicMap := config.GetSelfTypeDefine() if v, ok := selfDefineTypeMqlDicMap[name]; ok { return fixNullToPorint(v, isNull) } diff --git a/data/view/model/model.go b/data/view/model/model.go index b17ef2a..efb9d5f 100755 --- a/data/view/model/model.go +++ b/data/view/model/model.go @@ -29,10 +29,10 @@ func Generate(info DBInfo) (out []GenOutInfo, m _Model) { // struct var stt GenOutInfo stt.FileCtx = m.generate() - if name := config.GetOutFileName(); name != "" { + stt.FileName = info.DbName + ".go" + + if name := config.GetOutFileName(); len(name) > 0 { stt.FileName = name + ".go" - } else { - stt.FileName = info.DbName + ".go" } out = append(out, stt) @@ -136,9 +136,9 @@ func (m *_Model) genTableElement(cols []ColumnsInfo) (el []genstruct.GenElement) tmp.AddTag(_tagJSON, "-") } else { if config.GetWebTagType() == 0 { - tmp.AddTag(_tagJSON, mybigcamel.UnMarshal(v.Name)) - } else { tmp.AddTag(_tagJSON, mybigcamel.UnSmallMarshal(mybigcamel.Marshal(v.Name))) + } else { + tmp.AddTag(_tagJSON, mybigcamel.UnMarshal(v.Name)) } } } @@ -183,11 +183,10 @@ func (m *_Model) genForeignKey(col ColumnsInfo) (fklist []genstruct.GenElement) // json tag if config.GetIsWEBTag() { if config.GetWebTagType() == 0 { - tmp.AddTag(_tagJSON, mybigcamel.UnMarshal(v.TableName)+"_list") - } else { tmp.AddTag(_tagJSON, mybigcamel.UnSmallMarshal(mybigcamel.Marshal(v.TableName))+"List") + } else { + tmp.AddTag(_tagJSON, mybigcamel.UnMarshal(v.TableName)+"_list") } - } fklist = append(fklist, tmp)