From 9567d5303d371dfc75b767f639a3e0ccf9061fdb Mon Sep 17 00:00:00 2001 From: black Date: Thu, 23 Feb 2023 19:10:06 +0800 Subject: [PATCH] fix test --- migrator/migrator.go | 1 + tests/migrate_test.go | 42 +++++++++++++++++++++--------------------- 2 files changed, 22 insertions(+), 21 deletions(-) diff --git a/migrator/migrator.go b/migrator/migrator.go index 2d3dbe28..0e7a99ab 100644 --- a/migrator/migrator.go +++ b/migrator/migrator.go @@ -571,6 +571,7 @@ func (m Migrator) CreateView(name string, option gorm.ViewOption) error { m.DB.Statement.AddVar(sql, option.Query) if option.CheckOption != "" { + sql.WriteString(" ") sql.WriteString(option.CheckOption) } return m.DB.Exec(sql.String()).Error diff --git a/tests/migrate_test.go b/tests/migrate_test.go index 992fdd95..cf87cdf4 100644 --- a/tests/migrate_test.go +++ b/tests/migrate_test.go @@ -644,27 +644,6 @@ func TestMigrateColumns(t *testing.T) { } } -func TestMigrateView(t *testing.T) { - DB.Save(GetUser("joins-args-db", Config{Pets: 2})) - - query := DB.Model(&User{}). - Select("users.id as users_id, users.name as users_name, pets.id as pets_id, pets.name as pets_name"). - Joins("inner join pets on pets.user_id = users.id") - - if err := DB.Migrator().CreateView("users_pets", gorm.ViewOption{Query: query}); err != nil { - t.Fatalf("Failed to crate view, got %v", err) - } - - var count int64 - if err := DB.Table("users_pets").Count(&count).Error; err != nil { - t.Fatalf("should found created view") - } - - if err := DB.Migrator().DropView("users_pets"); err != nil { - t.Fatalf("Failed to drop view, got %v", err) - } -} - func TestMigrateConstraint(t *testing.T) { names := []string{"Account", "fk_users_account", "Pets", "fk_users_pets", "Company", "fk_users_company", "Team", "fk_users_team", "Languages", "fk_users_languages"} @@ -1530,3 +1509,24 @@ func TestMigrateIgnoreRelations(t *testing.T) { t.Errorf("RelationModel2 should not be migrated") } } + +func TestMigrateView(t *testing.T) { + DB.Save(GetUser("joins-args-db", Config{Pets: 2})) + + query := DB.Model(&User{}). + Select("users.id as users_id, users.name as users_name, pets.id as pets_id, pets.name as pets_name"). + Joins("inner join pets on pets.user_id = users.id") + + if err := DB.Migrator().CreateView("users_pets", gorm.ViewOption{Query: query}); err != nil { + t.Fatalf("Failed to crate view, got %v", err) + } + + var count int64 + if err := DB.Table("users_pets").Count(&count).Error; err != nil { + t.Fatalf("should found created view") + } + + if err := DB.Migrator().DropView("users_pets"); err != nil { + t.Fatalf("Failed to drop view, got %v", err) + } +}