Fix autoUpdateTime or autoCreateTime type
This commit is contained in:
parent
a480bd8545
commit
ab51216097
@ -316,8 +316,27 @@ func ConvertToCreateValues(stmt *gorm.Statement) (values clause.Values) {
|
|||||||
if field.DefaultValueInterface != nil {
|
if field.DefaultValueInterface != nil {
|
||||||
values.Values[0][idx] = field.DefaultValueInterface
|
values.Values[0][idx] = field.DefaultValueInterface
|
||||||
field.Set(stmt.ReflectValue, field.DefaultValueInterface)
|
field.Set(stmt.ReflectValue, field.DefaultValueInterface)
|
||||||
} else if field.AutoCreateTime > 0 || field.AutoUpdateTime > 0 {
|
} else if field.AutoCreateTime > 0 {
|
||||||
|
if field.AutoCreateTime == schema.UnixNanosecond {
|
||||||
|
field.Set(stmt.ReflectValue, curTime.UnixNano())
|
||||||
|
} else if field.AutoCreateTime == schema.UnixMillisecond {
|
||||||
|
field.Set(stmt.ReflectValue, curTime.UnixNano()/1e6)
|
||||||
|
} else if field.AutoCreateTime == schema.UnixSecond {
|
||||||
|
field.Set(stmt.ReflectValue, curTime.Unix())
|
||||||
|
} else {
|
||||||
field.Set(stmt.ReflectValue, curTime)
|
field.Set(stmt.ReflectValue, curTime)
|
||||||
|
}
|
||||||
|
values.Values[0][idx], _ = field.ValueOf(stmt.ReflectValue)
|
||||||
|
} else if field.AutoUpdateTime > 0 {
|
||||||
|
if field.AutoUpdateTime == schema.UnixNanosecond {
|
||||||
|
field.Set(stmt.ReflectValue, curTime.UnixNano())
|
||||||
|
} else if field.AutoUpdateTime == schema.UnixMillisecond {
|
||||||
|
field.Set(stmt.ReflectValue, curTime.UnixNano()/1e6)
|
||||||
|
} else if field.AutoUpdateTime == schema.UnixSecond {
|
||||||
|
field.Set(stmt.ReflectValue, curTime.Unix())
|
||||||
|
} else {
|
||||||
|
field.Set(stmt.ReflectValue, curTime)
|
||||||
|
}
|
||||||
values.Values[0][idx], _ = field.ValueOf(stmt.ReflectValue)
|
values.Values[0][idx], _ = field.ValueOf(stmt.ReflectValue)
|
||||||
}
|
}
|
||||||
} else if field.AutoUpdateTime > 0 {
|
} else if field.AutoUpdateTime > 0 {
|
||||||
|
@ -210,10 +210,10 @@ func ConvertToAssignments(stmt *gorm.Statement) (set clause.Set) {
|
|||||||
set = append(set, clause.Assignment{Column: clause.Column{Name: field.DBName}, Value: now.UnixNano()})
|
set = append(set, clause.Assignment{Column: clause.Column{Name: field.DBName}, Value: now.UnixNano()})
|
||||||
} else if field.AutoUpdateTime == schema.UnixMillisecond {
|
} else if field.AutoUpdateTime == schema.UnixMillisecond {
|
||||||
set = append(set, clause.Assignment{Column: clause.Column{Name: field.DBName}, Value: now.UnixNano() / 1e6})
|
set = append(set, clause.Assignment{Column: clause.Column{Name: field.DBName}, Value: now.UnixNano() / 1e6})
|
||||||
} else if field.GORMDataType == schema.Time {
|
} else if field.AutoUpdateTime == schema.UnixSecond {
|
||||||
set = append(set, clause.Assignment{Column: clause.Column{Name: field.DBName}, Value: now})
|
|
||||||
} else {
|
|
||||||
set = append(set, clause.Assignment{Column: clause.Column{Name: field.DBName}, Value: now.Unix()})
|
set = append(set, clause.Assignment{Column: clause.Column{Name: field.DBName}, Value: now.Unix()})
|
||||||
|
} else {
|
||||||
|
set = append(set, clause.Assignment{Column: clause.Column{Name: field.DBName}, Value: now})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user