From 69830ca89cbb2a6214463dbb7d149a6ded24c808 Mon Sep 17 00:00:00 2001 From: Harminder Virk Date: Tue, 20 Aug 2024 14:54:52 +0530 Subject: [PATCH] fix: maintain connections pool (#8670) --- packages/core/medusa-test-utils/src/database.ts | 3 +++ .../utils/src/dal/mikro-orm/mikro-orm-create-connection.ts | 5 ++++- packages/core/utils/src/modules-sdk/create-pg-connection.ts | 2 +- .../framework/framework/src/database/pg-connection-loader.ts | 2 ++ 4 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/core/medusa-test-utils/src/database.ts b/packages/core/medusa-test-utils/src/database.ts index dc8c454ff9..9e74cc5e0f 100644 --- a/packages/core/medusa-test-utils/src/database.ts +++ b/packages/core/medusa-test-utils/src/database.ts @@ -30,6 +30,9 @@ export function getMikroOrmConfig({ entities: Object.values(mikroOrmEntities), schema: schema ?? process.env.MEDUSA_DB_SCHEMA, debug: false, + pool: { + min: 2, + }, migrations: { pathTs: pathToMigrations, silent: true, diff --git a/packages/core/utils/src/dal/mikro-orm/mikro-orm-create-connection.ts b/packages/core/utils/src/dal/mikro-orm/mikro-orm-create-connection.ts index 9fd34dbc92..ca956691e2 100644 --- a/packages/core/utils/src/dal/mikro-orm/mikro-orm-create-connection.ts +++ b/packages/core/utils/src/dal/mikro-orm/mikro-orm-create-connection.ts @@ -93,6 +93,9 @@ export async function mikroOrmCreateConnection( schemaGenerator: { disableForeignKeys: false, }, - pool: database.pool as any, + pool: { + min: 2, + ...database.pool, + }, }) } diff --git a/packages/core/utils/src/modules-sdk/create-pg-connection.ts b/packages/core/utils/src/modules-sdk/create-pg-connection.ts index 09bb3cf9dc..c7035866f7 100644 --- a/packages/core/utils/src/modules-sdk/create-pg-connection.ts +++ b/packages/core/utils/src/modules-sdk/create-pg-connection.ts @@ -27,7 +27,7 @@ export function createPgConnection(options: Options) { pool: { // https://knexjs.org/guide/#pool ...(pool ?? {}), - min: (pool?.min as number) ?? 0, + min: (pool?.min as number) ?? 2, }, }) } diff --git a/packages/framework/framework/src/database/pg-connection-loader.ts b/packages/framework/framework/src/database/pg-connection-loader.ts index 07f4757bcd..bbb61e65b5 100644 --- a/packages/framework/framework/src/database/pg-connection-loader.ts +++ b/packages/framework/framework/src/database/pg-connection-loader.ts @@ -23,6 +23,7 @@ export function pgConnectionLoader(): ReturnType< configModule.projectConfig.databaseDriverOptions || {} const schema = configModule.projectConfig.databaseSchema || "public" const idleTimeoutMillis = driverOptions.pool?.idleTimeoutMillis ?? undefined // prevent null to be passed + const poolMin = driverOptions.pool?.min ?? 2 const poolMax = driverOptions.pool?.max delete driverOptions.pool @@ -32,6 +33,7 @@ export function pgConnectionLoader(): ReturnType< schema, driverOptions, pool: { + min: poolMin, max: poolMax, idleTimeoutMillis, },