Skip to content

Commit

Permalink
优化 字段 在null的情况下为指针类型
Browse files Browse the repository at this point in the history
  • Loading branch information
chenxi2015 committed Nov 9, 2022
1 parent 6a05245 commit e22c42d
Showing 1 changed file with 8 additions and 11 deletions.
19 changes: 8 additions & 11 deletions model.go
Original file line number Diff line number Diff line change
Expand Up @@ -170,33 +170,30 @@ func parseFieldTypeByTable(defaultType sql.NullString, nullType, fieldType strin
}
switch typeArr[0] {
case "int", "integer", "int unsigned", "mediumint", "mediumint unsigned", "year":
return parseStrInt2Ptr(defaultType, nullType, typeName+"int")
return parseAny2Ptr(nullType, typeName+"int")
case "tinyint", "tinyint unsigned":
return parseStrInt2Ptr(defaultType, nullType, typeName+"int8")
return parseAny2Ptr(nullType, typeName+"int8")
case "smallint", "smallint unsigned":
return parseStrInt2Ptr(defaultType, nullType, typeName+"int16")
return parseAny2Ptr(nullType, typeName+"int16")
case "bigint", "bigint unsigned":
return parseStrInt2Ptr(defaultType, nullType, typeName+"int64")
return parseAny2Ptr(nullType, typeName+"int64")
case "double", "float", "real", "numeric":
return "float32"
case "double unsigned", "float unsigned":
return "float64"
case "decimal":
return "decimal.Decimal"
case "timestamp", "datetime", "date", "time":
return parseStrInt2Ptr(defaultType, nullType, typeName+"time.Time")
return parseAny2Ptr(nullType, typeName+"time.Time")
case "bool":
return "bool"
default:
return parseStrInt2Ptr(defaultType, nullType, "string")
return parseAny2Ptr(nullType, "string")
}
}

// parseStrInt2Ptr Convert string / int to pointer string
func parseStrInt2Ptr(defaultType sql.NullString, nullType, typeName string) string {
if nullType == "NO" && (defaultType.String == "" || defaultType.String == "0") && defaultType.Valid {
return "*" + typeName
}
// parseAny2Ptr Convert string / int / time.Time ... to pointer string
func parseAny2Ptr(nullType, typeName string) string {
if nullType == "YES" {
return "*" + typeName
}
Expand Down

0 comments on commit e22c42d

Please sign in to comment.