From b5da98dcb75d3371ad0651210f2e64839626e269 Mon Sep 17 00:00:00 2001 From: Henry Date: Mon, 20 Oct 2025 10:56:36 +0100 Subject: [PATCH] Refactor `createSchema` method in record managers to streamline data source retrieval and ensure proper cleanup. Updated MySQL, Postgres, and SQLite implementations for consistency and resource management. --- .../recordmanager/MySQLRecordManager/MySQLrecordManager.ts | 2 +- .../PostgresRecordManager/PostgresRecordManager.ts | 4 +++- .../recordmanager/SQLiteRecordManager/SQLiteRecordManager.ts | 4 +++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/components/nodes/recordmanager/MySQLRecordManager/MySQLrecordManager.ts b/packages/components/nodes/recordmanager/MySQLRecordManager/MySQLrecordManager.ts index d79d5e598..eb38144e7 100644 --- a/packages/components/nodes/recordmanager/MySQLRecordManager/MySQLrecordManager.ts +++ b/packages/components/nodes/recordmanager/MySQLRecordManager/MySQLrecordManager.ts @@ -205,7 +205,7 @@ class MySQLRecordManager implements RecordManagerInterface { } async createSchema(): Promise { - const dataSource = await this.getDataSource('createSchema') + const dataSource = await this.getDataSource() try { const queryRunner = dataSource.createQueryRunner() const tableName = this.sanitizeTableName(this.tableName) diff --git a/packages/components/nodes/recordmanager/PostgresRecordManager/PostgresRecordManager.ts b/packages/components/nodes/recordmanager/PostgresRecordManager/PostgresRecordManager.ts index cf239522f..ab4b564e8 100644 --- a/packages/components/nodes/recordmanager/PostgresRecordManager/PostgresRecordManager.ts +++ b/packages/components/nodes/recordmanager/PostgresRecordManager/PostgresRecordManager.ts @@ -222,8 +222,8 @@ class PostgresRecordManager implements RecordManagerInterface { } async createSchema(): Promise { + const dataSource = await this.getDataSource() try { - const dataSource = await this.getDataSource() const queryRunner = dataSource.createQueryRunner() const tableName = this.sanitizeTableName(this.tableName) @@ -251,6 +251,8 @@ class PostgresRecordManager implements RecordManagerInterface { return } throw e + } finally { + await dataSource.destroy() } } diff --git a/packages/components/nodes/recordmanager/SQLiteRecordManager/SQLiteRecordManager.ts b/packages/components/nodes/recordmanager/SQLiteRecordManager/SQLiteRecordManager.ts index c209f4956..4b7376041 100644 --- a/packages/components/nodes/recordmanager/SQLiteRecordManager/SQLiteRecordManager.ts +++ b/packages/components/nodes/recordmanager/SQLiteRecordManager/SQLiteRecordManager.ts @@ -179,8 +179,8 @@ class SQLiteRecordManager implements RecordManagerInterface { } async createSchema(): Promise { + const dataSource = await this.getDataSource() try { - const dataSource = await this.getDataSource() const queryRunner = dataSource.createQueryRunner() const tableName = this.sanitizeTableName(this.tableName) @@ -208,6 +208,8 @@ CREATE INDEX IF NOT EXISTS group_id_index ON "${tableName}" (group_id);`) return } throw e + } finally { + await dataSource.destroy() } }