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;