From e509560dda287204314a0fa470518f6ee9a8f0dd Mon Sep 17 00:00:00 2001 From: Simone Miraglia Date: Wed, 3 Dec 2025 09:03:55 +0100 Subject: [PATCH] fix mssql transaction not working when client is AutoPool --- drizzle-orm/src/node-mssql/session.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drizzle-orm/src/node-mssql/session.ts b/drizzle-orm/src/node-mssql/session.ts index e8457709ec..569e0a65b5 100644 --- a/drizzle-orm/src/node-mssql/session.ts +++ b/drizzle-orm/src/node-mssql/session.ts @@ -244,7 +244,11 @@ export class NodeMsSqlSession< transaction: (tx: NodeMsSqlTransaction) => Promise, config?: MsSqlTransactionConfig, ): Promise { - const mssqlTransaction = (this.client as ConnectionPool).transaction(); + let queryClient = this.client as ConnectionPool; + if (is(this.client, AutoPool)) { + queryClient = await this.client.$instance(); + } + const mssqlTransaction = queryClient.transaction(); const session = new NodeMsSqlSession( mssqlTransaction, this.dialect,