Skip to content

Commit dbf2283

Browse files
committed
TypeORM adapter: Don't escape fields
There's no need to escape fields with typeorm querybuilder. Moreover field escaping can cause problems when an entity field name is different from the database field name.
1 parent 3f4c584 commit dbf2283

2 files changed

Lines changed: 8 additions & 5 deletions

File tree

packages/sql/spec/typeorm.spec.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ describe('Condition interpreter for TypeORM', () => {
3030

3131
expect(query).to.be.instanceof(SelectQueryBuilder)
3232
expect(query.getQuery()).to.equal([
33-
'SELECT "u"."id" AS "u_id", "u"."name" AS "u_name"',
33+
'SELECT "u"."id" AS "u_id", "u"."name" AS "u_name", "u"."age" AS "u_age"',
3434
'FROM "user" "u"',
3535
'WHERE "u"."name" = :0'
3636
].join(' '))
@@ -42,7 +42,7 @@ describe('Condition interpreter for TypeORM', () => {
4242
const query = interpret(condition, conn.createQueryBuilder(User, 'u'))
4343

4444
expect(query.getQuery()).to.equal([
45-
'SELECT "u"."id" AS "u_id", "u"."name" AS "u_name"',
45+
'SELECT "u"."id" AS "u_id", "u"."name" AS "u_name", "u"."age" AS "u_age"',
4646
'FROM "user" "u"',
4747
'WHERE "u"."age" in(:0, :1, :2)'
4848
].join(' '))
@@ -59,7 +59,7 @@ describe('Condition interpreter for TypeORM', () => {
5959
const query = interpret(condition, conn.createQueryBuilder(User, 'u'))
6060

6161
expect(query.getQuery()).to.equal([
62-
'SELECT "u"."id" AS "u_id", "u"."name" AS "u_name"',
62+
'SELECT "u"."id" AS "u_id", "u"."name" AS "u_name", "u"."age" AS "u_age"',
6363
'FROM "user" "u"',
6464
'LEFT JOIN "project" "projects" ON "projects"."userId"="u"."id"',
6565
'WHERE "projects"."name" = :0'
@@ -75,7 +75,7 @@ describe('Condition interpreter for TypeORM', () => {
7575
const query = interpret(condition, conn.createQueryBuilder(User, 'u'))
7676

7777
expect(query.getQuery()).to.equal([
78-
'SELECT "u"."id" AS "u_id", "u"."name" AS "u_name"',
78+
'SELECT "u"."id" AS "u_id", "u"."name" AS "u_name", "u"."age" AS "u_age"',
7979
'FROM "user" "u"',
8080
'LEFT JOIN "project" "projects" ON "projects"."userId"="u"."id"',
8181
'WHERE ("projects"."name" = :0 and "projects"."active" = :1)'
@@ -91,7 +91,7 @@ describe('Condition interpreter for TypeORM', () => {
9191
const query = interpret(condition, conn.createQueryBuilder(User, 'u'))
9292

9393
expect(query.getQuery()).to.equal([
94-
'SELECT "u"."id" AS "u_id", "u"."name" AS "u_name"',
94+
'SELECT "u"."id" AS "u_id", "u"."name" AS "u_name", "u"."age" AS "u_age"',
9595
'FROM "user" "u"',
9696
'LEFT JOIN "project" "projects" ON "projects"."userId"="u"."id"',
9797
' LEFT JOIN "review" "projects_reviews" ON "projects_reviews"."projectId"="projects"."id"',
@@ -105,6 +105,7 @@ async function configureORM() {
105105
class User {
106106
id!: number
107107
name!: string
108+
age!: string
108109
projects!: Project[]
109110
}
110111

@@ -129,6 +130,7 @@ async function configureORM() {
129130
columns: {
130131
id: { primary: true, type: 'int', generated: true },
131132
name: { type: 'varchar' },
133+
age: { type: 'int' },
132134
},
133135
relations: {
134136
projects: {

packages/sql/src/lib/typeorm.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ function foreignField<Entity>(field: string, relationName: string) {
3838
const dialects = createDialects({
3939
joinRelation,
4040
paramPlaceholder: index => `:${index - 1}`,
41+
escapeField: (field: string) => field,
4142
foreignField
4243
});
4344

0 commit comments

Comments
 (0)