master
xxj 2 years ago
commit ba9821f5be

@ -5,7 +5,7 @@ url_tag : json # web url tag(json,db(https://github.com/google/go-querystring))
language : # 语言(English,中 文) language : # 语言(English,中 文)
db_tag : gorm # 数据库标签名(gorm,db) db_tag : gorm # 数据库标签名(gorm,db)
simple : true # 简单输出(默认只输出gorm主键和字段标签) simple : true # 简单输出(默认只输出gorm主键和字段标签)
use_gorm_model : false # model是否使用gorm.Model user_gorm_model : false # model是否使用gorm.Model
is_db_tag : true # 是否输出 数据库标签(gorm,db) is_db_tag : true # 是否输出 数据库标签(gorm,db)
is_out_sql : false # 是否输出 sql 原信息 is_out_sql : false # 是否输出 sql 原信息
is_out_func : true # 是否输出 快捷函数 is_out_func : true # 是否输出 快捷函数
@ -16,6 +16,7 @@ is_gui : false # 是否ui模式显示
is_table_name : true # 是否直接生成表名 is_table_name : true # 是否直接生成表名
is_column_name : true # 是否直接生成列名 is_column_name : true # 是否直接生成列名
is_null_to_point : false # 数据库默认 'DEFAULT NULL' 时设置结构为指针类型 is_null_to_point : false # 数据库默认 'DEFAULT NULL' 时设置结构为指针类型
is_null_to_sql_null: false # 数据库默认 'DEFAULT NULL' 时设置结构为sql.NULL is_null_to_point如果为true则is_null_to_sql_null不生效
table_prefix : "" # 表前缀, 如果有则使用, 没有留空(如果表前缀以"-"开头则表示去掉该前缀struct、文件名都会去掉该前缀) table_prefix : "" # 表前缀, 如果有则使用, 没有留空(如果表前缀以"-"开头则表示去掉该前缀struct、文件名都会去掉该前缀)
table_names: "" # 指定表生成,多个表用,隔开 table_names: "" # 指定表生成,多个表用,隔开
is_out_file_by_table_name: false # 是否根据表名生成多个model is_out_file_by_table_name: false # 是否根据表名生成多个model

@ -25,6 +25,7 @@ type Config struct {
IsGUI bool `yaml:"is_gui"` // IsGUI bool `yaml:"is_gui"` //
IsTableName bool `yaml:"is_table_name"` IsTableName bool `yaml:"is_table_name"`
IsNullToPoint bool `yaml:"is_null_to_point"` // null to porint IsNullToPoint bool `yaml:"is_null_to_point"` // null to porint
IsNullToSqlNull bool `yaml:"is_null_to_sql_null"`
TablePrefix string `yaml:"table_prefix"` // 表前缀 TablePrefix string `yaml:"table_prefix"` // 表前缀
SelfTypeDef map[string]string `yaml:"self_type_define"` SelfTypeDef map[string]string `yaml:"self_type_define"`
OutFileName string `yaml:"out_file_name"` OutFileName string `yaml:"out_file_name"`
@ -226,6 +227,14 @@ func GetIsNullToPoint() bool {
return _map.IsNullToPoint return _map.IsNullToPoint
} }
func SetIsNullToSqlNull(b bool) {
_map.IsNullToSqlNull = b
}
func GetIsNullToSqlNull() bool {
return _map.IsNullToSqlNull
}
// SetTablePrefix set table prefix // SetTablePrefix set table prefix
func SetTablePrefix(t string) { func SetTablePrefix(t string) {
_map.TablePrefix = t _map.TablePrefix = t

@ -20,7 +20,7 @@ func getCamelName(name string) string {
// return mybigcamel.Marshal(strings.TrimSuffix(name, "s")) // return mybigcamel.Marshal(strings.TrimSuffix(name, "s"))
// } // }
return mybigcamel.Marshal(name) return mybigcamel.Marshal(strings.ToLower(name))
} }
// titleCase title case.首字母大写 // titleCase title case.首字母大写
@ -113,6 +113,30 @@ func fixNullToPorint(name string, isNull bool) string {
return "*" + name return "*" + name
} }
} }
if isNull && config.GetIsNullToSqlNull() {
if strings.HasPrefix(name, "uint") {
return "sql.NullInt64"
}
if strings.HasPrefix(name, "int") {
return "sql.NullInt32"
}
if strings.HasPrefix(name, "float") {
return "sql.NullFloat64"
}
if strings.HasPrefix(name, "date") {
return "sql.NullTime"
}
if strings.HasPrefix(name, "time") {
return "sql.NullTime"
}
if strings.HasPrefix(name, "bool") {
return "sql.NullBool"
}
if strings.HasPrefix(name, "string") {
return "sql.NullString"
}
}
return name return name
} }
@ -157,7 +181,7 @@ func getGormModelElement() []EmInfo {
result = append(result, EmInfo{ result = append(result, EmInfo{
IsMulti: false, IsMulti: false,
Notes: "deleted time", Notes: "deleted time",
Type: "time.Time", // Type.类型标记 Type: "gorm.DeletedAt", // Type.类型标记
ColName: "deleted_at", ColName: "deleted_at",
ColNameEx: "deleted_at", ColNameEx: "deleted_at",
ColStructName: "DeletedAt", ColStructName: "DeletedAt",

Loading…
Cancel
Save