From a632dd34b670ec5c5c9c2b43e4bd46b54c9f34e0 Mon Sep 17 00:00:00 2001 From: William Date: Wed, 25 Oct 2017 12:55:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=BF=E6=8D=A2=E6=97=B6=E9=97=B4=E6=88=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- callback_create.go | 6 +++--- callback_delete.go | 2 +- callback_update.go | 2 +- scope.go | 2 +- utils.go | 3 +++ 5 files changed, 9 insertions(+), 6 deletions(-) diff --git a/callback_create.go b/callback_create.go index a4da39e8..bf6b492f 100644 --- a/callback_create.go +++ b/callback_create.go @@ -31,17 +31,17 @@ func beforeCreateCallback(scope *Scope) { // updateTimeStampForCreateCallback will set `CreatedAt`, `UpdatedAt` when creating func updateTimeStampForCreateCallback(scope *Scope) { if !scope.HasError() { - now := NowFunc() + unix := UnixFunc() if createdAtField, ok := scope.FieldByName("CreatedAt"); ok { if createdAtField.IsBlank { - createdAtField.Set(now) + createdAtField.Set(unix) } } if updatedAtField, ok := scope.FieldByName("UpdatedAt"); ok { if updatedAtField.IsBlank { - updatedAtField.Set(now) + updatedAtField.Set(unix) } } } diff --git a/callback_delete.go b/callback_delete.go index 73d90880..efe60b13 100644 --- a/callback_delete.go +++ b/callback_delete.go @@ -40,7 +40,7 @@ func deleteCallback(scope *Scope) { "UPDATE %v SET %v=%v%v%v", scope.QuotedTableName(), scope.Quote(deletedAtField.DBName), - scope.AddToVars(NowFunc()), + scope.AddToVars(UnixFunc()), addExtraSpaceIfExist(scope.CombinedConditionSql()), addExtraSpaceIfExist(extraOption), )).Exec() diff --git a/callback_update.go b/callback_update.go index 6948439f..5b780af8 100644 --- a/callback_update.go +++ b/callback_update.go @@ -49,7 +49,7 @@ func beforeUpdateCallback(scope *Scope) { // updateTimeStampForUpdateCallback will set `UpdatedAt` when updating func updateTimeStampForUpdateCallback(scope *Scope) { if _, ok := scope.Get("gorm:update_column"); !ok { - scope.SetColumn("UpdatedAt", NowFunc()) + scope.SetColumn("UpdatedAt", UnixFunc()) } } diff --git a/scope.go b/scope.go index 51ebd5a0..0905eb04 100644 --- a/scope.go +++ b/scope.go @@ -688,7 +688,7 @@ func (scope *Scope) whereSQL() (sql string) { ) 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) } diff --git a/utils.go b/utils.go index 97a3d175..1b4e7dd6 100644 --- a/utils.go +++ b/utils.go @@ -21,6 +21,9 @@ import ( var NowFunc = func() time.Time { return time.Now() } +var UnixFunc = func() int64 { + return time.Now().Unix() +} // 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"}