| 358 | } |
| 359 | |
| 360 | func TestUpdateWithMissWhere(t *testing.T) { |
| 361 | type User struct { |
| 362 | ID uint `gorm:"column:id;<-:create"` |
| 363 | Name string `gorm:"column:name"` |
| 364 | } |
| 365 | user := User{ID: 1, Name: "king"} |
| 366 | tx := DB.Session(&gorm.Session{DryRun: true}).Save(&user) |
| 367 | |
| 368 | if err := tx.Error; err != nil { |
| 369 | t.Fatalf("failed to update user,missing where condition,err=%+v", err) |
| 370 | } |
| 371 | |
| 372 | if !regexp.MustCompile("WHERE .id. = [^ ]+$").MatchString(tx.Statement.SQL.String()) { |
| 373 | t.Fatalf("invalid updating SQL, got %v", tx.Statement.SQL.String()) |
| 374 | } |
| 375 | } |