test: more test cases
This commit is contained in:
parent
4c5d727449
commit
b9f50de675
@ -4,6 +4,7 @@ import (
|
|||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"math/rand"
|
"math/rand"
|
||||||
|
"os"
|
||||||
"reflect"
|
"reflect"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
@ -12,6 +13,7 @@ import (
|
|||||||
"gorm.io/driver/postgres"
|
"gorm.io/driver/postgres"
|
||||||
|
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
|
"gorm.io/gorm/logger"
|
||||||
"gorm.io/gorm/schema"
|
"gorm.io/gorm/schema"
|
||||||
. "gorm.io/gorm/utils/tests"
|
. "gorm.io/gorm/utils/tests"
|
||||||
)
|
)
|
||||||
@ -934,13 +936,26 @@ func TestInvalidCachedPlanPrepareStmt(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("Open err:%v", err)
|
t.Errorf("Open err:%v", err)
|
||||||
}
|
}
|
||||||
|
if debug := os.Getenv("DEBUG"); debug == "true" {
|
||||||
|
db.Logger = db.Logger.LogMode(logger.Info)
|
||||||
|
} else if debug == "false" {
|
||||||
|
db.Logger = db.Logger.LogMode(logger.Silent)
|
||||||
|
}
|
||||||
|
|
||||||
type Object1 struct{}
|
type Object1 struct {
|
||||||
|
ID uint
|
||||||
|
}
|
||||||
type Object2 struct {
|
type Object2 struct {
|
||||||
Field1 string
|
ID uint
|
||||||
|
Field1 int `gorm:"type:int8"`
|
||||||
}
|
}
|
||||||
type Object3 struct {
|
type Object3 struct {
|
||||||
Field2 string
|
ID uint
|
||||||
|
Field1 int `gorm:"type:int4"`
|
||||||
|
}
|
||||||
|
type Object4 struct {
|
||||||
|
ID uint
|
||||||
|
Field2 int
|
||||||
}
|
}
|
||||||
db.Migrator().DropTable("objects")
|
db.Migrator().DropTable("objects")
|
||||||
|
|
||||||
@ -948,16 +963,43 @@ func TestInvalidCachedPlanPrepareStmt(t *testing.T) {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("AutoMigrate err:%v", err)
|
t.Errorf("AutoMigrate err:%v", err)
|
||||||
}
|
}
|
||||||
|
err = db.Table("objects").Create(&Object1{}).Error
|
||||||
|
if err != nil {
|
||||||
|
t.Errorf("create err:%v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// AddColumn
|
||||||
err = db.Table("objects").AutoMigrate(&Object2{})
|
err = db.Table("objects").AutoMigrate(&Object2{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("AutoMigrate err:%v", err)
|
t.Errorf("AutoMigrate err:%v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
err = db.Table("objects").Take(&Object2{}).Error
|
||||||
|
if err != nil {
|
||||||
|
t.Errorf("take err:%v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// AlterColumn
|
||||||
err = db.Table("objects").AutoMigrate(&Object3{})
|
err = db.Table("objects").AutoMigrate(&Object3{})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Errorf("AutoMigrate err:%v", err)
|
t.Errorf("AutoMigrate err:%v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
err = db.Table("objects").Take(&Object3{}).Error
|
||||||
|
if err != nil {
|
||||||
|
t.Errorf("take err:%v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
// AddColumn
|
||||||
|
err = db.Table("objects").AutoMigrate(&Object4{})
|
||||||
|
if err != nil {
|
||||||
|
t.Errorf("AutoMigrate err:%v", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
err = db.Table("objects").Take(&Object4{}).Error
|
||||||
|
if err != nil {
|
||||||
|
t.Errorf("take err:%v", err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestDifferentTypeWithoutDeclaredLength(t *testing.T) {
|
func TestDifferentTypeWithoutDeclaredLength(t *testing.T) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user