Add DefaultTime type for autoUpdateTime and autoCreateTime

This commit is contained in:
wk30 2021-05-13 22:01:53 +08:00
parent ab51216097
commit 585e63625d
2 changed files with 10 additions and 5 deletions

View File

@ -233,10 +233,10 @@ func ConvertToAssignments(stmt *gorm.Statement) (set clause.Set) {
value = stmt.DB.NowFunc().UnixNano()
} else if field.AutoUpdateTime == schema.UnixMillisecond {
value = stmt.DB.NowFunc().UnixNano() / 1e6
} else if field.GORMDataType == schema.Time {
value = stmt.DB.NowFunc()
} else {
} else if field.AutoUpdateTime == schema.UnixSecond {
value = stmt.DB.NowFunc().Unix()
} else {
value = stmt.DB.NowFunc()
}
isZero = false
}

View File

@ -24,6 +24,7 @@ const (
UnixSecond TimeType = 1
UnixMillisecond TimeType = 2
UnixNanosecond TimeType = 3
DefaultTime TimeType = 4 //DefaultTime is time.Time
)
const (
@ -255,8 +256,10 @@ func (schema *Schema) ParseField(fieldStruct reflect.StructField) *Field {
field.AutoCreateTime = UnixNanosecond
} else if strings.ToUpper(v) == "MILLI" {
field.AutoCreateTime = UnixMillisecond
} else {
} else if strings.ToUpper(v) == "UNIX" {
field.AutoCreateTime = UnixSecond
} else {
field.AutoCreateTime = DefaultTime
}
}
@ -265,8 +268,10 @@ func (schema *Schema) ParseField(fieldStruct reflect.StructField) *Field {
field.AutoUpdateTime = UnixNanosecond
} else if strings.ToUpper(v) == "MILLI" {
field.AutoUpdateTime = UnixMillisecond
} else {
} else if strings.ToUpper(v) == "UNIX" {
field.AutoUpdateTime = UnixSecond
} else {
field.AutoUpdateTime = DefaultTime
}
}