diff --git a/packages/backend/src/models/_.ts b/packages/backend/src/models/_.ts index cbc4ba0015..a95d37e1fa 100644 --- a/packages/backend/src/models/_.ts +++ b/packages/backend/src/models/_.ts @@ -74,12 +74,17 @@ import { MiReversiGame } from '@/models/ReversiGame.js'; import type { QueryDeepPartialEntity } from 'typeorm/query-builder/QueryPartialEntity.js'; export interface MiRepository { - createColumnNames(this: Repository & MiRepository, queryBuilder: InsertQueryBuilder): string[]; + createAliasColumnNames(this: Repository & MiRepository, queryBuilder: InsertQueryBuilder): string[]; + createTableColumnNames(this: Repository & MiRepository, queryBuilder: InsertQueryBuilder): string[]; insertOne(this: Repository & MiRepository, entity: QueryDeepPartialEntity, findOptions?: Pick, 'relations'>): Promise; } export const miRepository = { - createColumnNames(queryBuilder) { + createAliasColumnNames(queryBuilder) { + const tableColumnNames = this.createTableColumnNames(queryBuilder); + return tableColumnNames.map(columnName => `${queryBuilder.alias}_${columnName}`); + }, + createTableColumnNames(queryBuilder) { // @ts-expect-error -- protected const insertedColumns = queryBuilder.getInsertedColumns(); if (insertedColumns.length) { @@ -96,7 +101,7 @@ export const miRepository = { }, async insertOne(entity, findOptions?) { const queryBuilder = this.createQueryBuilder().insert().values(entity).returning('*'); - const columnNames = this.createColumnNames(queryBuilder); + const columnNames = this.createAliasColumnNames(queryBuilder); const builder = this.createQueryBuilder() .addCommonTableExpression(queryBuilder, this.metadata.tableName, { columnNames }) .select('*')