package test import ( "RenewCMS/internal/infrastructure/persistence/database" "testing" ) func TestMigrateTwiceKeepsSingleImagePathIndex(t *testing.T) { db := openActivityDatabase(t) if err := database.Migrate(db, migrationPublicURL); err != nil { t.Fatalf("second migrate failed: %v", err) } if err := database.Migrate(db, migrationPublicURL); err != nil { t.Fatalf("third migrate failed: %v", err) } var count int64 if err := db.Raw("SELECT COUNT(*) FROM sqlite_master WHERE type = 'index' AND name = ?", "idx_images_path").Scan(&count).Error; err != nil { t.Fatalf("index lookup failed: %v", err) } if count != 1 { t.Fatalf("expected idx_images_path exactly once, got %d", count) } }