From c1f62972da1a94ef508702e04028f74db32c7f86 Mon Sep 17 00:00:00 2001 From: Sasha <64744993+r1tsuu@users.noreply.github.com> Date: Wed, 25 Jun 2025 20:51:39 +0300 Subject: [PATCH] fix(db-postgres): joins with custom schema (#12937) Fixes normal and polymorphic joins when using a custom schema in Postgres --- packages/drizzle/src/find/traverseFields.ts | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/drizzle/src/find/traverseFields.ts b/packages/drizzle/src/find/traverseFields.ts index 88926f501..f81b72925 100644 --- a/packages/drizzle/src/find/traverseFields.ts +++ b/packages/drizzle/src/find/traverseFields.ts @@ -513,7 +513,7 @@ export const traverseFields = ({ const subQueryAlias = `${columnName}_subquery` let sqlWhere = eq( - adapter.tables[currentTableName].id, + sql.raw(`"${currentTableName}"."id"`), sql.raw(`"${subQueryAlias}"."${onPath}"`), ) @@ -577,19 +577,23 @@ export const traverseFields = ({ let joinQueryWhere: Where + const currentIDRaw = sql.raw( + `"${getNameFromDrizzleTable(currentIDColumn.table)}"."${currentIDColumn.name}"`, + ) + if (Array.isArray(field.targetField.relationTo)) { joinQueryWhere = { [field.on]: { equals: { relationTo: collectionSlug, - value: rawConstraint(currentIDColumn), + value: rawConstraint(currentIDRaw), }, }, } } else { joinQueryWhere = { [field.on]: { - equals: rawConstraint(currentIDColumn), + equals: rawConstraint(currentIDRaw), }, } }