new
This commit is contained in:
@@ -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: 下划线
|
||||
|
||||
```
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user