From 34440dafd8138ebccd73de50e031bf50e899b062 Mon Sep 17 00:00:00 2001 From: Lasse Hyldahl Jensen Date: Wed, 8 Nov 2023 21:00:26 +0100 Subject: [PATCH] Add test that provokes the race condition --- tests/migrate_test.go | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/tests/migrate_test.go b/tests/migrate_test.go index cfd3e0ac..b1aa27a1 100644 --- a/tests/migrate_test.go +++ b/tests/migrate_test.go @@ -1685,3 +1685,29 @@ func TestTableType(t *testing.T) { t.Fatalf("expected comment %s got %s", tblComment, comment) } } + +func TestMigrateRaceCondition(t *testing.T) { + type TestTable struct { + gorm.Model + } + + for a := 0; a < 2; a++ { + t.Run("drop and migrate", func(t *testing.T) { + t.Run("drop", func(t *testing.T) { + if err := DB.Migrator().DropTable(&TestTable{}); err != nil { + t.Fatalf("failed to drop table: %v", err) + } + }) + + for i := 0; i < 2; i++ { + t.Run("migrate", func(t *testing.T) { + t.Parallel() + + if err := DB.AutoMigrate(&TestTable{}); err != nil { + t.Fatalf("failed to migrate: %v", err) + } + }) + } + }) + } +}