Merge bf8bb4ea7a309c9f081ab39a3fe7b280862fd642 into 89f6d74b5ebab61a964b7a69c865a16cf9f24821

This commit is contained in:
Herbert Natal 2017-01-25 09:48:48 +00:00 committed by GitHub
commit 91bc4c4ad4
3 changed files with 30 additions and 11 deletions

View File

@ -34,13 +34,19 @@ func deleteCallback(scope *Scope) {
} }
if !scope.Search.Unscoped && scope.HasColumn("DeletedAt") { if !scope.Search.Unscoped && scope.HasColumn("DeletedAt") {
scope.Raw(fmt.Sprintf( for _, field := range scope.Fields() {
"UPDATE %v SET deleted_at=%v%v%v", if field.Name == "DeletedAt" {
scope.QuotedTableName(), scope.Raw(fmt.Sprintf(
scope.AddToVars(NowFunc()), "UPDATE %v SET %v=%v%v%v",
addExtraSpaceIfExist(scope.CombinedConditionSql()), scope.QuotedTableName(),
addExtraSpaceIfExist(extraOption), scope.Quote(field.DBName),
)).Exec() scope.AddToVars(NowFunc()),
addExtraSpaceIfExist(scope.CombinedConditionSql()),
addExtraSpaceIfExist(extraOption),
)).Exec()
}
}
} else { } else {
scope.Raw(fmt.Sprintf( scope.Raw(fmt.Sprintf(
"DELETE FROM %v%v%v", "DELETE FROM %v%v%v",

10
gorm.iml Normal file
View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="GO_MODULE" version="4">
<component name="NewModuleRootManager" inherit-compiler-output="true">
<exclude-output />
<content url="file://$MODULE_DIR$" />
<orderEntry type="jdk" jdkName="Go 1.6" jdkType="Go SDK" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="GOPATH &lt;gorm&gt;" level="project" />
</component>
</module>

View File

@ -676,11 +676,14 @@ func (scope *Scope) whereSQL() (sql string) {
primaryConditions, andConditions, orConditions []string primaryConditions, andConditions, orConditions []string
) )
if !scope.Search.Unscoped && scope.HasColumn("deleted_at") { if !scope.Search.Unscoped && scope.HasColumn("DeletedAt") {
sql := fmt.Sprintf("%v.deleted_at IS NULL", quotedTableName) for _, field := range scope.Fields() {
primaryConditions = append(primaryConditions, sql) if field.Name == "DeletedAt" {
sql := fmt.Sprintf("%v.%v IS NULL", quotedTableName, scope.Quote(field.DBName))
primaryConditions = append(primaryConditions, sql)
}
}
} }
if !scope.PrimaryKeyZero() { if !scope.PrimaryKeyZero() {
for _, field := range scope.PrimaryFields() { for _, field := range scope.PrimaryFields() {
sql := fmt.Sprintf("%v.%v = %v", quotedTableName, scope.Quote(field.DBName), scope.AddToVars(field.Field.Interface())) sql := fmt.Sprintf("%v.%v = %v", quotedTableName, scope.Quote(field.DBName), scope.AddToVars(field.Field.Interface()))