test: test for postgrs sercial column

This commit is contained in:
a631807682 2022-04-09 17:50:51 +08:00
parent 38a24606da
commit 68c3c24ca4
No known key found for this signature in database
GPG Key ID: 137D1D75522168AB

View File

@ -574,3 +574,49 @@ func TestMigrateColumnOrder(t *testing.T) {
} }
} }
} }
// https://github.com/go-gorm/gorm/issues/5047
func TestMigrateSercialColumn(t *testing.T) {
type Event struct {
ID uint `gorm:"primarykey"`
UID uint32
}
type Event1 struct {
ID uint `gorm:"primarykey"`
UID uint32 `gorm:"not null;autoIncrement"`
}
type Event2 struct {
ID uint `gorm:"primarykey"`
UID uint16 `gorm:"not null;autoIncrement"`
}
var err error
err = DB.Migrator().DropTable(&Event{})
if err != nil {
t.Errorf("DropTable err:%v", err)
}
err = DB.Table("events").AutoMigrate(&Event1{})
if err != nil {
t.Errorf("AutoMigrate err:%v", err)
}
err = DB.Table("events").AutoMigrate(&Event2{})
if err != nil {
t.Errorf("AutoMigrate err:%v", err)
}
DB.Table("events").Save(&Event2{})
DB.Table("events").Save(&Event2{})
DB.Table("events").Save(&Event2{})
events := make([]*Event, 0)
DB.Table("events").Find(&events)
AssertEqual(t, 3, len(events))
for _, v := range events {
AssertEqual(t, v.ID, v.UID)
}
}