(t *testing.T)
| 567 | } |
| 568 | |
| 569 | func TestCreateWithAutoIncrementCompositeKey(t *testing.T) { |
| 570 | type CompositeKeyProduct struct { |
| 571 | ProductID int `gorm:"primaryKey;autoIncrement:true;"` // primary key |
| 572 | LanguageCode int `gorm:"primaryKey;"` // primary key |
| 573 | Code string |
| 574 | Name string |
| 575 | } |
| 576 | |
| 577 | if err := DB.Migrator().DropTable(&CompositeKeyProduct{}); err != nil { |
| 578 | t.Fatalf("failed to migrate, got error %v", err) |
| 579 | } |
| 580 | if err := DB.AutoMigrate(&CompositeKeyProduct{}); err != nil { |
| 581 | t.Fatalf("failed to migrate, got error %v", err) |
| 582 | } |
| 583 | |
| 584 | prod := &CompositeKeyProduct{ |
| 585 | LanguageCode: 56, |
| 586 | Code: "Code56", |
| 587 | Name: "ProductName56", |
| 588 | } |
| 589 | if err := DB.Create(&prod).Error; err != nil { |
| 590 | t.Fatalf("failed to create, got error %v", err) |
| 591 | } |
| 592 | |
| 593 | newProd := &CompositeKeyProduct{} |
| 594 | if err := DB.First(&newProd).Error; err != nil { |
| 595 | t.Fatalf("errors happened when query: %v", err) |
| 596 | } else { |
| 597 | AssertObjEqual(t, newProd, prod, "ProductID", "LanguageCode", "Code", "Name") |
| 598 | } |
| 599 | } |
| 600 | |
| 601 | func TestCreateOnConflictWithDefaultNull(t *testing.T) { |
| 602 | type OnConflictUser struct { |
nothing calls this directly
no test coverage detected