diff --git a/packages/twenty-server/src/database/typeorm/core/core.datasource.spec.ts b/packages/twenty-server/src/database/typeorm/core/core.datasource.spec.ts new file mode 100644 index 0000000000..c02fe74016 --- /dev/null +++ b/packages/twenty-server/src/database/typeorm/core/core.datasource.spec.ts @@ -0,0 +1,21 @@ +describe('typeORMCoreModuleOptions', () => { + const originalPoolMaxConnections = process.env.PG_POOL_MAX_CONNECTIONS; + + afterEach(() => { + if (originalPoolMaxConnections === undefined) { + delete process.env.PG_POOL_MAX_CONNECTIONS; + } else { + process.env.PG_POOL_MAX_CONNECTIONS = originalPoolMaxConnections; + } + jest.resetModules(); + }); + + it('uses the configured maximum pool size', async () => { + process.env.PG_POOL_MAX_CONNECTIONS = '40'; + + const { typeORMCoreModuleOptions } = + await import('src/database/typeorm/core/core.datasource'); + + expect(typeORMCoreModuleOptions.poolSize).toBe(40); + }); +}); diff --git a/packages/twenty-server/src/database/typeorm/core/core.datasource.ts b/packages/twenty-server/src/database/typeorm/core/core.datasource.ts index 88d5163628..5a09488262 100644 --- a/packages/twenty-server/src/database/typeorm/core/core.datasource.ts +++ b/packages/twenty-server/src/database/typeorm/core/core.datasource.ts @@ -54,6 +54,7 @@ export const typeORMCoreModuleOptions: TypeOrmModuleOptions = { ], synchronize: false, migrationsRun: false, + poolSize: Number(process.env.PG_POOL_MAX_CONNECTIONS ?? 10), migrationsTableName: '_typeorm_migrations', metadataTableName: '_typeorm_generated_columns_and_materialized_views', // The TypeORM migration system is frozen — historical migrations live in