Merge pull request #204 from jiang4869/master

增加把default null类型字段设置为sql.NullXXX类型
master
xxj 3 years ago committed by GitHub
commit 0b59ec2a6c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -16,6 +16,7 @@ is_gui : false # 是否ui模式显示
is_table_name : true # 是否直接生成表名
is_column_name : true # 是否直接生成列名
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_names: "" # 指定表生成,多个表用,隔开
is_out_file_by_table_name: false # 是否根据表名生成多个model

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

@ -113,6 +113,30 @@ func fixNullToPorint(name string, isNull bool) string {
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
}

Loading…
Cancel
Save