fix(migrate_test.go):change GetTables Method Test,use intersection
This commit is contained in:
parent
a2a3b7038a
commit
c26d0f889b
@ -5,6 +5,7 @@ go 1.14
|
|||||||
require (
|
require (
|
||||||
github.com/google/uuid v1.3.0
|
github.com/google/uuid v1.3.0
|
||||||
github.com/jinzhu/now v1.1.2
|
github.com/jinzhu/now v1.1.2
|
||||||
|
github.com/juliangruber/go-intersect v1.1.0 // indirect
|
||||||
github.com/lib/pq v1.10.4
|
github.com/lib/pq v1.10.4
|
||||||
gorm.io/driver/mysql v1.1.3
|
gorm.io/driver/mysql v1.1.3
|
||||||
gorm.io/driver/postgres v1.2.2
|
gorm.io/driver/postgres v1.2.2
|
||||||
|
@ -6,6 +6,7 @@ import (
|
|||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/juliangruber/go-intersect"
|
||||||
"gorm.io/gorm"
|
"gorm.io/gorm"
|
||||||
. "gorm.io/gorm/utils/tests"
|
. "gorm.io/gorm/utils/tests"
|
||||||
)
|
)
|
||||||
@ -14,7 +15,6 @@ func TestMigrate(t *testing.T) {
|
|||||||
allModels := []interface{}{&User{}, &Account{}, &Pet{}, &Company{}, &Toy{}, &Language{}}
|
allModels := []interface{}{&User{}, &Account{}, &Pet{}, &Company{}, &Toy{}, &Language{}}
|
||||||
rand.Seed(time.Now().UnixNano())
|
rand.Seed(time.Now().UnixNano())
|
||||||
rand.Shuffle(len(allModels), func(i, j int) { allModels[i], allModels[j] = allModels[j], allModels[i] })
|
rand.Shuffle(len(allModels), func(i, j int) { allModels[i], allModels[j] = allModels[j], allModels[i] })
|
||||||
|
|
||||||
DB.Migrator().DropTable("user_speaks", "user_friends", "ccc")
|
DB.Migrator().DropTable("user_speaks", "user_friends", "ccc")
|
||||||
|
|
||||||
if err := DB.Migrator().DropTable(allModels...); err != nil {
|
if err := DB.Migrator().DropTable(allModels...); err != nil {
|
||||||
@ -28,7 +28,13 @@ func TestMigrate(t *testing.T) {
|
|||||||
if tableErr != nil {
|
if tableErr != nil {
|
||||||
t.Fatalf("Failed to get database all tables, but got error %v", tableErr)
|
t.Fatalf("Failed to get database all tables, but got error %v", tableErr)
|
||||||
}
|
}
|
||||||
for _, m := range tableList {
|
//get auto Migrator create tables and databases tables intersection
|
||||||
|
intersectList := intersect.Simple(tableList, []string{"users", "accounts", "pets", "companies", "toys", "languages"})
|
||||||
|
if len(intersectList) != len(allModels) {
|
||||||
|
t.Fatalf("Failed to get auto Migrator create tables and databases tables intersection nums not eq allModels %d intersectList %d", len(allModels), len(intersectList))
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, m := range allModels {
|
||||||
if !DB.Migrator().HasTable(m) {
|
if !DB.Migrator().HasTable(m) {
|
||||||
t.Fatalf("Failed to create table for %#v---", m)
|
t.Fatalf("Failed to create table for %#v---", m)
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user