From 9227496389af7771d5dcd176e6b5fdb4be058f8a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Acid=20Chicken=20=28=E7=A1=AB=E9=85=B8=E9=B6=8F=29?= Date: Wed, 29 May 2024 22:35:34 +0900 Subject: [PATCH] chore(backend): concrete returning --- packages/backend/src/core/chart/core.ts | 4 ++-- packages/backend/src/models/_.ts | 7 ++++--- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/backend/src/core/chart/core.ts b/packages/backend/src/core/chart/core.ts index f40bdf3d73..af5485a46e 100644 --- a/packages/backend/src/core/chart/core.ts +++ b/packages/backend/src/core/chart/core.ts @@ -212,8 +212,8 @@ export default abstract class Chart { } { const createEntity = (span: 'hour' | 'day'): EntitySchema => new EntitySchema({ name: - span === 'hour' ? `ChartX${name.replace(/[^a-zA-Z0-9]/g, '')}` : - span === 'day' ? `ChartDayX${name.replace(/[^a-zA-Z0-9]/g, '')}` : + span === 'hour' ? `ChartX${name}` : + span === 'day' ? `ChartDayX${name}` : new Error('not happen') as never, tableName: span === 'hour' ? `__chart__${camelToSnake(name)}` : diff --git a/packages/backend/src/models/_.ts b/packages/backend/src/models/_.ts index a639039bef..97da3a20a5 100644 --- a/packages/backend/src/models/_.ts +++ b/packages/backend/src/models/_.ts @@ -96,9 +96,10 @@ export const miRepository = { return queryBuilder.expressionMap.insertColumns; }, async insertOne(entity, findOptions?) { - const queryBuilder = this.createQueryBuilder().insert().values(entity).returning('*'); + const queryBuilder = this.createQueryBuilder().insert().values(entity); queryBuilder.expressionMap.mainAlias!.name = 't'; - const columnNames = this.createTableColumnNames(queryBuilder); + const columnNames = this.createTableColumnNames(queryBuilder).map(column => `__disambiguation__${column}`); + queryBuilder.returning(columnNames.map(column => `"${column.slice('__disambiguation__'.length)}" AS "${column}"`).join()); const builder = this.createQueryBuilder().addCommonTableExpression(queryBuilder, 'cte', { columnNames }); builder.expressionMap.mainAlias!.tablePath = 'cte'; this.selectAliasColumnNames(queryBuilder, builder); @@ -114,7 +115,7 @@ export const miRepository = { return builder.select(selection, selectionAliasName); }; for (const columnName of this.createTableColumnNames(queryBuilder)) { - selectOrAddSelect(`${builder.alias}.${columnName}`, `${builder.alias}_${columnName}`); + selectOrAddSelect(`"${builder.alias}"."__disambiguation__${columnName}"`, `"${builder.alias}_${columnName}"`); } }, } satisfies MiRepository;