From 39043f3945d29da289f1c3d1cbfa95f967375793 Mon Sep 17 00:00:00 2001 From: Alex Date: Thu, 2 Jul 2026 10:43:22 -0700 Subject: [PATCH] migration fix --- .../0007_migrateMaintenanceWindowMonitorIdToArray.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/server/src/db/migration/0007_migrateMaintenanceWindowMonitorIdToArray.ts b/server/src/db/migration/0007_migrateMaintenanceWindowMonitorIdToArray.ts index 1d850872e..7f0d22e0e 100644 --- a/server/src/db/migration/0007_migrateMaintenanceWindowMonitorIdToArray.ts +++ b/server/src/db/migration/0007_migrateMaintenanceWindowMonitorIdToArray.ts @@ -1,5 +1,4 @@ import mongoose from "mongoose"; -import type { AnyBulkWriteOperation, Document } from "mongodb"; import type { ILogger } from "@/utils/logger.js"; import MaintenanceWindowModel from "../../domain/maintenance-windows/maintenance-window.model.js"; @@ -65,7 +64,11 @@ export async function migrateMaintenanceWindowMonitorIdToArray(logger: ILogger): return; } - const bulkOps: AnyBulkWriteOperation[] = []; + // Derive the op type from the exact bulkWrite we call, so it always matches whichever `mongodb` + // copy Mongoose resolves (a fresh Docker install nests its own under mongoose/node_modules, + // distinct from the top-level one — importing the type from "mongodb" picks the wrong copy). + type BulkOp = Parameters[0][number]; + const bulkOps: BulkOp[] = []; let originalDocCount = 0; for (const group of groups) { @@ -92,10 +95,7 @@ export async function migrateMaintenanceWindowMonitorIdToArray(logger: ILogger): } } - // Use the raw driver collection (like migration 0002) rather than Model.collection: the latter is - // typed with Mongoose's bundled mongodb, which clashes with the top-level `mongodb` op types under - // a dual-package install (fresh Docker build) and fails to compile. - const result = await db.collection(MaintenanceWindowModel.collection.collectionName).bulkWrite(bulkOps, { ordered: true }); + const result = await MaintenanceWindowModel.collection.bulkWrite(bulkOps, { ordered: true }); const deletedCount = originalDocCount - groups.length; logger.info({