Skip to content

Commit

Permalink
test: test for skip prepared when auto migrate (#5350)
Browse files Browse the repository at this point in the history
  • Loading branch information
a631807682 committed May 22, 2022
1 parent 540fb49 commit 7d1a92d
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 3 deletions.
36 changes: 36 additions & 0 deletions tests/migrate_test.go
Expand Up @@ -7,6 +7,7 @@ import (
"testing"
"time"

"gorm.io/driver/postgres"
"gorm.io/gorm"
"gorm.io/gorm/schema"
. "gorm.io/gorm/utils/tests"
Expand Down Expand Up @@ -712,3 +713,38 @@ func TestPrimarykeyID(t *testing.T) {
t.Fatalf("AutoMigrate err:%v", err)
}
}

func TestInvalidCachedPlan(t *testing.T) {
if DB.Dialector.Name() != "postgres" {
return
}

db, err := gorm.Open(postgres.Open(postgresDSN), &gorm.Config{})
if err != nil {
t.Errorf("Open err:%v", err)
}

type Object1 struct{}
type Object2 struct {
Field1 string
}
type Object3 struct {
Field2 string
}
db.Migrator().DropTable("objects")

err = db.Table("objects").AutoMigrate(&Object1{})
if err != nil {
t.Errorf("AutoMigrate err:%v", err)
}

err = db.Table("objects").AutoMigrate(&Object2{})
if err != nil {
t.Errorf("AutoMigrate err:%v", err)
}

err = db.Table("objects").AutoMigrate(&Object3{})
if err != nil {
t.Errorf("AutoMigrate err:%v", err)
}
}
11 changes: 8 additions & 3 deletions tests/tests_test.go
Expand Up @@ -17,6 +17,11 @@ import (
)

var DB *gorm.DB
var (
mysqlDSN = "gorm:gorm@tcp(localhost:9910)/gorm?charset=utf8&parseTime=True&loc=Local"
postgresDSN = "user=gorm password=gorm dbname=gorm host=localhost port=9920 sslmode=disable TimeZone=Asia/Shanghai"
sqlserverDSN = "sqlserver://gorm:LoremIpsum86@localhost:9930?database=gorm"
)

func init() {
var err error
Expand Down Expand Up @@ -49,13 +54,13 @@ func OpenTestConnection() (db *gorm.DB, err error) {
case "mysql":
log.Println("testing mysql...")
if dbDSN == "" {
dbDSN = "gorm:gorm@tcp(localhost:9910)/gorm?charset=utf8&parseTime=True&loc=Local"
dbDSN = mysqlDSN
}
db, err = gorm.Open(mysql.Open(dbDSN), &gorm.Config{})
case "postgres":
log.Println("testing postgres...")
if dbDSN == "" {
dbDSN = "user=gorm password=gorm dbname=gorm host=localhost port=9920 sslmode=disable TimeZone=Asia/Shanghai"
dbDSN = postgresDSN
}
db, err = gorm.Open(postgres.New(postgres.Config{
DSN: dbDSN,
Expand All @@ -72,7 +77,7 @@ func OpenTestConnection() (db *gorm.DB, err error) {
// GO
log.Println("testing sqlserver...")
if dbDSN == "" {
dbDSN = "sqlserver://gorm:LoremIpsum86@localhost:9930?database=gorm"
dbDSN = sqlserverDSN
}
db, err = gorm.Open(sqlserver.Open(dbDSN), &gorm.Config{})
default:
Expand Down

0 comments on commit 7d1a92d

Please sign in to comment.