diff --git a/packages/db-mongodb/src/connect.ts b/packages/db-mongodb/src/connect.ts index ffe5e902ff3..e9b02a6bff9 100644 --- a/packages/db-mongodb/src/connect.ts +++ b/packages/db-mongodb/src/connect.ts @@ -1,5 +1,5 @@ import type { ConnectOptions } from 'mongoose' -import type { Connect } from 'payload' +import type { Connect, Migration } from 'payload' import mongoose from 'mongoose' import { defaultBeginTransaction } from 'payload' @@ -95,7 +95,7 @@ export const connect: Connect = async function connect( } if (process.env.NODE_ENV === 'production' && this.prodMigrations) { - await this.migrate({ migrations: this.prodMigrations }) + await this.migrate({ migrations: this.prodMigrations as unknown as Migration[] }) } } catch (err) { let msg = `Error: cannot connect to MongoDB.` diff --git a/packages/db-mongodb/src/index.ts b/packages/db-mongodb/src/index.ts index 0c3fa426099..9c296f3d28e 100644 --- a/packages/db-mongodb/src/index.ts +++ b/packages/db-mongodb/src/index.ts @@ -12,7 +12,6 @@ import type { CollectionSlug, DatabaseAdapterObj, JsonObject, - Migration, Payload, TypeWithVersion, UpdateGlobalArgs, @@ -24,7 +23,13 @@ import type { import mongoose from 'mongoose' import { createDatabaseAdapter, defaultBeginTransaction, findMigrationDir } from 'payload' -import type { CollectionModel, GlobalModel, MigrateDownArgs, MigrateUpArgs } from './types.js' +import type { + CollectionModel, + GlobalModel, + MigrateDownArgs, + MigrateUpArgs, + MongooseMigration, +} from './types.js' import { connect } from './connect.js' import { count } from './count.js' @@ -136,7 +141,7 @@ export interface Args { * typed as any to avoid dependency */ mongoMemoryServer?: MongoMemoryReplSet - prodMigrations?: Migration[] + prodMigrations?: MongooseMigration[] transactionOptions?: false | TransactionOptions diff --git a/packages/db-mongodb/src/types.ts b/packages/db-mongodb/src/types.ts index f1b130631e4..aabc29356e7 100644 --- a/packages/db-mongodb/src/types.ts +++ b/packages/db-mongodb/src/types.ts @@ -12,6 +12,7 @@ import type { GroupField, JoinField, JSONField, + MigrationData, NumberField, Payload, PayloadRequest, @@ -163,3 +164,8 @@ export type MigrateDownArgs = { */ session?: ClientSession } + +export type MongooseMigration = { + down: (args: MigrateDownArgs) => Promise + up: (args: MigrateUpArgs) => Promise +} & MigrationData