From 2cc2a1555d803f015f1c8f434682adb8f4c9f22b Mon Sep 17 00:00:00 2001 From: Rob Rodriguez Date: Mon, 10 Dec 2018 17:43:50 -0800 Subject: [PATCH] fixing issues that broke tests --- callback_update.go | 22 ++++++++++------------ encoder_test.go | 5 +++-- migration_test.go | 2 +- model_struct.go | 18 +++++++++--------- 4 files changed, 23 insertions(+), 24 deletions(-) diff --git a/callback_update.go b/callback_update.go index 24732d6d..9e512d3a 100644 --- a/callback_update.go +++ b/callback_update.go @@ -75,18 +75,16 @@ func updateCallback(scope *Scope) { } else { for _, field := range scope.Fields() { if scope.changeableField(field) { - if !field.IsPrimaryKey { - if field.IsNormal { - if !field.IsForeignKey || !field.IsBlank || !field.HasDefaultValue { - sqls = append(sqls, fmt.Sprintf("%v = %v", scope.Quote(field.DBName), scope.AddToVars(field.Field.Interface()))) - } - } else if field.UseEncoder { - if enc, ok := scope.Value.(Encoder); ok { - if val, err := enc.EncodeField(field.DBName); err == nil { - sqls = append(sqls, fmt.Sprintf("%v = %v", scope.Quote(field.DBName), scope.AddToVars(val))) - } else { - scope.Err(err) - } + if !field.IsPrimaryKey && field.IsNormal { + if !field.IsForeignKey || !field.IsBlank || !field.HasDefaultValue { + sqls = append(sqls, fmt.Sprintf("%v = %v", scope.Quote(field.DBName), scope.AddToVars(field.Field.Interface()))) + } + } else if field.UseEncoder { + if enc, ok := scope.Value.(Encoder); ok { + if val, err := enc.EncodeField(field.DBName); err == nil { + sqls = append(sqls, fmt.Sprintf("%v = %v", scope.Quote(field.DBName), scope.AddToVars(val))) + } else { + scope.Err(err) } } } else if relationship := field.Relationship; relationship != nil && relationship.Kind == "belongs_to" { diff --git a/encoder_test.go b/encoder_test.go index efc3c573..d54b690d 100644 --- a/encoder_test.go +++ b/encoder_test.go @@ -4,6 +4,8 @@ import ( "encoding/json" "errors" "testing" + + "github.com/kr/pretty" ) type ( @@ -78,8 +80,6 @@ func (m *WidgetUser) DecodeField(column string, value interface{}) error { } func TestEncoder(t *testing.T) { - DB.AutoMigrate(&WidgetUser{}) - user := &WidgetUser{ User: User{ Id: 1, @@ -110,4 +110,5 @@ func TestEncoder(t *testing.T) { t.Errorf("user widget is not valid") } } + pretty.Log(user1.Widget) } diff --git a/migration_test.go b/migration_test.go index 3fb06648..ad24ab07 100644 --- a/migration_test.go +++ b/migration_test.go @@ -292,7 +292,7 @@ func runMigration() { DB.Exec(fmt.Sprintf("drop table %v;", table)) } - values := []interface{}{&Short{}, &ReallyLongThingThatReferencesShort{}, &ReallyLongTableNameToTestMySQLNameLengthLimit{}, &NotSoLongTableName{}, &Product{}, &Email{}, &Address{}, &CreditCard{}, &Company{}, &Role{}, &Language{}, &HNPost{}, &EngadgetPost{}, &Animal{}, &User{}, &JoinTable{}, &Post{}, &Category{}, &Comment{}, &Cat{}, &Dog{}, &Hamster{}, &Toy{}, &ElementWithIgnoredField{}, &Place{}} + values := []interface{}{&Short{}, &ReallyLongThingThatReferencesShort{}, &ReallyLongTableNameToTestMySQLNameLengthLimit{}, &NotSoLongTableName{}, &Product{}, &Email{}, &Address{}, &CreditCard{}, &Company{}, &Role{}, &Language{}, &HNPost{}, &EngadgetPost{}, &Animal{}, &User{}, &JoinTable{}, &Post{}, &Category{}, &Comment{}, &Cat{}, &Dog{}, &Hamster{}, &Toy{}, &ElementWithIgnoredField{}, &Place{}, &WidgetUser{}} for _, value := range values { DB.DropTable(value) } diff --git a/model_struct.go b/model_struct.go index 2c2a0b4a..cfa163a9 100644 --- a/model_struct.go +++ b/model_struct.go @@ -606,16 +606,16 @@ func (scope *Scope) GetModelStruct() *ModelStruct { } } } - - // Even it is ignored, also possible to decode db value into the field - if value, ok := field.TagSettingsGet("COLUMN"); ok { - field.DBName = value - } else { - field.DBName = ToColumnName(fieldStruct.Name) - } - - modelStruct.StructFields = append(modelStruct.StructFields, field) } + + // Even it is ignored, also possible to decode db value into the field + if value, ok := field.TagSettingsGet("COLUMN"); ok { + field.DBName = value + } else { + field.DBName = ToColumnName(fieldStruct.Name) + } + + modelStruct.StructFields = append(modelStruct.StructFields, field) } if len(modelStruct.PrimaryFields) == 0 {