fix(utils): Typecasting non-text fields in FTS (#12729)

This commit is contained in:
Oli Juhl
2025-06-13 13:18:50 +02:00
committed by GitHub
parent ebd4d70b6b
commit b79215dd5c
4 changed files with 68 additions and 5 deletions
@@ -4,7 +4,7 @@ import type {
FindOneOptions,
FindOptions,
} from "@mikro-orm/core"
import { EntityMetadata, ReferenceKind } from "@mikro-orm/core"
import { EntityMetadata, raw, ReferenceKind } from "@mikro-orm/core"
import { SqlEntityManager } from "@mikro-orm/postgresql"
export const FreeTextSearchFilterKeyPrefix = "freeTextSearch_"
@@ -54,9 +54,10 @@ function retrieveRelationsConstraints(
}
const isText = propertyConfiguration?.columnTypes?.includes("text")
const columnName = isText
? propertyConfiguration.name
: `${propertyConfiguration.name}::text`
: raw((alias) => `cast(${alias}.${propertyConfiguration.name} as text)`)
relationFreeTextSearchWhere.push({
[columnName]: {