替换时间戳
This commit is contained in:
parent
0a51f6cdc5
commit
a632dd34b6
@ -31,17 +31,17 @@ func beforeCreateCallback(scope *Scope) {
|
|||||||
// updateTimeStampForCreateCallback will set `CreatedAt`, `UpdatedAt` when creating
|
// updateTimeStampForCreateCallback will set `CreatedAt`, `UpdatedAt` when creating
|
||||||
func updateTimeStampForCreateCallback(scope *Scope) {
|
func updateTimeStampForCreateCallback(scope *Scope) {
|
||||||
if !scope.HasError() {
|
if !scope.HasError() {
|
||||||
now := NowFunc()
|
unix := UnixFunc()
|
||||||
|
|
||||||
if createdAtField, ok := scope.FieldByName("CreatedAt"); ok {
|
if createdAtField, ok := scope.FieldByName("CreatedAt"); ok {
|
||||||
if createdAtField.IsBlank {
|
if createdAtField.IsBlank {
|
||||||
createdAtField.Set(now)
|
createdAtField.Set(unix)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if updatedAtField, ok := scope.FieldByName("UpdatedAt"); ok {
|
if updatedAtField, ok := scope.FieldByName("UpdatedAt"); ok {
|
||||||
if updatedAtField.IsBlank {
|
if updatedAtField.IsBlank {
|
||||||
updatedAtField.Set(now)
|
updatedAtField.Set(unix)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -40,7 +40,7 @@ func deleteCallback(scope *Scope) {
|
|||||||
"UPDATE %v SET %v=%v%v%v",
|
"UPDATE %v SET %v=%v%v%v",
|
||||||
scope.QuotedTableName(),
|
scope.QuotedTableName(),
|
||||||
scope.Quote(deletedAtField.DBName),
|
scope.Quote(deletedAtField.DBName),
|
||||||
scope.AddToVars(NowFunc()),
|
scope.AddToVars(UnixFunc()),
|
||||||
addExtraSpaceIfExist(scope.CombinedConditionSql()),
|
addExtraSpaceIfExist(scope.CombinedConditionSql()),
|
||||||
addExtraSpaceIfExist(extraOption),
|
addExtraSpaceIfExist(extraOption),
|
||||||
)).Exec()
|
)).Exec()
|
||||||
|
@ -49,7 +49,7 @@ func beforeUpdateCallback(scope *Scope) {
|
|||||||
// updateTimeStampForUpdateCallback will set `UpdatedAt` when updating
|
// updateTimeStampForUpdateCallback will set `UpdatedAt` when updating
|
||||||
func updateTimeStampForUpdateCallback(scope *Scope) {
|
func updateTimeStampForUpdateCallback(scope *Scope) {
|
||||||
if _, ok := scope.Get("gorm:update_column"); !ok {
|
if _, ok := scope.Get("gorm:update_column"); !ok {
|
||||||
scope.SetColumn("UpdatedAt", NowFunc())
|
scope.SetColumn("UpdatedAt", UnixFunc())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
2
scope.go
2
scope.go
@ -688,7 +688,7 @@ func (scope *Scope) whereSQL() (sql string) {
|
|||||||
)
|
)
|
||||||
|
|
||||||
if !scope.Search.Unscoped && hasDeletedAtField {
|
if !scope.Search.Unscoped && hasDeletedAtField {
|
||||||
sql := fmt.Sprintf("%v.%v IS NULL", quotedTableName, scope.Quote(deletedAtField.DBName))
|
sql := fmt.Sprintf("%v.%v = 0", quotedTableName, scope.Quote(deletedAtField.DBName))
|
||||||
primaryConditions = append(primaryConditions, sql)
|
primaryConditions = append(primaryConditions, sql)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
3
utils.go
3
utils.go
@ -21,6 +21,9 @@ import (
|
|||||||
var NowFunc = func() time.Time {
|
var NowFunc = func() time.Time {
|
||||||
return time.Now()
|
return time.Now()
|
||||||
}
|
}
|
||||||
|
var UnixFunc = func() int64 {
|
||||||
|
return time.Now().Unix()
|
||||||
|
}
|
||||||
|
|
||||||
// Copied from golint
|
// Copied from golint
|
||||||
var commonInitialisms = []string{"API", "ASCII", "CPU", "CSS", "DNS", "EOF", "GUID", "HTML", "HTTP", "HTTPS", "ID", "IP", "JSON", "LHS", "QPS", "RAM", "RHS", "RPC", "SLA", "SMTP", "SSH", "TLS", "TTL", "UI", "UID", "UUID", "URI", "URL", "UTF8", "VM", "XML", "XSRF", "XSS"}
|
var commonInitialisms = []string{"API", "ASCII", "CPU", "CSS", "DNS", "EOF", "GUID", "HTML", "HTTP", "HTTPS", "ID", "IP", "JSON", "LHS", "QPS", "RAM", "RHS", "RPC", "SLA", "SMTP", "SSH", "TLS", "TTL", "UI", "UID", "UUID", "URI", "URL", "UTF8", "VM", "XML", "XSRF", "XSS"}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user