mirror of
https://github.com/typeorm/typeorm.git
synced 2025-12-08 21:26:23 +00:00
fixed closure-table failing tests
This commit is contained in:
parent
8d9083bbb9
commit
2919b8530d
@ -44,7 +44,7 @@ export class ClosureJunctionEntityMetadataBuilder {
|
||||
args: {
|
||||
target: "",
|
||||
mode: "virtual",
|
||||
propertyName: "ancestor_" + primaryColumn.databaseName, // todo: naming strategy
|
||||
propertyName: "ancestor", // todo: naming strategy
|
||||
options: {
|
||||
length: primaryColumn.length,
|
||||
type: primaryColumn.type,
|
||||
@ -57,7 +57,7 @@ export class ClosureJunctionEntityMetadataBuilder {
|
||||
args: {
|
||||
target: "",
|
||||
mode: "virtual",
|
||||
propertyName: "descendant_" + primaryColumn.databaseName,
|
||||
propertyName: "descendant",
|
||||
options: {
|
||||
length: primaryColumn.length,
|
||||
type: primaryColumn.type,
|
||||
@ -101,4 +101,4 @@ export class ClosureJunctionEntityMetadataBuilder {
|
||||
return entityMetadata;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,15 +1,15 @@
|
||||
import {ObjectLiteral} from "../common/ObjectLiteral";
|
||||
import {EntityMetadata} from "../metadata/EntityMetadata";
|
||||
import {Connection} from "../connection/Connection";
|
||||
import {QueryRunner} from "../query-runner/QueryRunner";
|
||||
import {JunctionInsert, JunctionRemove, Subject} from "./Subject";
|
||||
import {OrmUtils} from "../util/OrmUtils";
|
||||
import {EntityManager} from "../entity-manager/EntityManager";
|
||||
import {PromiseUtils} from "../util/PromiseUtils";
|
||||
import {MongoDriver} from "../driver/mongodb/MongoDriver";
|
||||
import {ColumnMetadata} from "../metadata/ColumnMetadata";
|
||||
import {EmbeddedMetadata} from "../metadata/EmbeddedMetadata";
|
||||
import {Broadcaster} from "../subscriber/Broadcaster";
|
||||
import { ObjectLiteral } from "../common/ObjectLiteral";
|
||||
import { EntityMetadata } from "../metadata/EntityMetadata";
|
||||
import { Connection } from "../connection/Connection";
|
||||
import { QueryRunner } from "../query-runner/QueryRunner";
|
||||
import { JunctionInsert, JunctionRemove, Subject } from "./Subject";
|
||||
import { OrmUtils } from "../util/OrmUtils";
|
||||
import { EntityManager } from "../entity-manager/EntityManager";
|
||||
import { PromiseUtils } from "../util/PromiseUtils";
|
||||
import { MongoDriver } from "../driver/mongodb/MongoDriver";
|
||||
import { ColumnMetadata } from "../metadata/ColumnMetadata";
|
||||
import { EmbeddedMetadata } from "../metadata/EmbeddedMetadata";
|
||||
import { Broadcaster } from "../subscriber/Broadcaster";
|
||||
|
||||
/**
|
||||
* Executes all database operations (inserts, updated, deletes) that must be executed
|
||||
@ -51,8 +51,8 @@ export class SubjectOperationExecutor {
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
constructor(protected connection: Connection,
|
||||
protected transactionEntityManager: EntityManager,
|
||||
protected queryRunner: QueryRunner) {
|
||||
protected transactionEntityManager: EntityManager,
|
||||
protected queryRunner: QueryRunner) {
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
@ -673,7 +673,7 @@ export class SubjectOperationExecutor {
|
||||
});
|
||||
|
||||
if (parentSubject) {
|
||||
parentEntityId = referencedColumn.getEntityValue(parentSubject);
|
||||
parentEntityId = referencedColumn.getEntityValue(parentSubject.entity);
|
||||
if (!parentEntityId && parentSubject.newlyGeneratedId) { // if still not found then it means parent just inserted with generated column
|
||||
parentEntityId = parentSubject.newlyGeneratedId;
|
||||
}
|
||||
@ -1059,4 +1059,4 @@ export class SubjectOperationExecutor {
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import {Repository} from "./Repository";
|
||||
import {QueryBuilder} from "../query-builder/QueryBuilder";
|
||||
import {SelectQueryBuilder} from "../query-builder/SelectQueryBuilder";
|
||||
import { Repository } from "./Repository";
|
||||
import { QueryBuilder } from "../query-builder/QueryBuilder";
|
||||
import { SelectQueryBuilder } from "../query-builder/SelectQueryBuilder";
|
||||
|
||||
/**
|
||||
* Repository with additional functions to work with trees.
|
||||
@ -35,7 +35,7 @@ export class TreeRepository<Entity> extends Repository<Entity> {
|
||||
|
||||
const parentPropertyName = this.metadata.treeParentRelation!.propertyName;
|
||||
return this.createQueryBuilder("treeEntity")
|
||||
.where(`treeEntity.${parentPropertyName} IS NULL`)
|
||||
.where(`treeEntity.${parentPropertyName}Id IS NULL`)
|
||||
.getMany();
|
||||
}
|
||||
|
||||
@ -150,7 +150,7 @@ export class TreeRepository<Entity> extends Repository<Entity> {
|
||||
return rawResults.map(rawResult => {
|
||||
return {
|
||||
id: rawResult[alias + "_" + this.metadata.primaryColumns[0].databaseName],
|
||||
parentId: rawResult[alias + "_" + this.metadata.treeParentRelation!.joinColumns[0].referencedColumn!.databaseName]
|
||||
parentId: rawResult[alias + "_" + this.metadata.treeParentRelation!.joinColumns[0].givenDatabaseName]
|
||||
};
|
||||
});
|
||||
}
|
||||
@ -160,7 +160,7 @@ export class TreeRepository<Entity> extends Repository<Entity> {
|
||||
const parentEntityId = this.metadata.primaryColumns[0].getEntityValue(entity);
|
||||
const childRelationMaps = relationMaps.filter(relationMap => relationMap.parentId === parentEntityId);
|
||||
const childIds = childRelationMaps.map(relationMap => relationMap.id);
|
||||
entity[childProperty] = entities.filter(entity => childIds.indexOf(this.metadata.primaryColumns[0].getEntityValue(entity)) !== -1);
|
||||
entity[childProperty] = entities.filter(entity => childIds.indexOf(entity.id) !== -1);
|
||||
entity[childProperty].forEach((childEntity: any) => {
|
||||
this.buildChildrenEntityTree(childEntity, entities, relationMaps);
|
||||
});
|
||||
@ -182,4 +182,4 @@ export class TreeRepository<Entity> extends Repository<Entity> {
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@ -4,7 +4,7 @@ import {Connection} from "../../../../src/connection/Connection";
|
||||
import {createTestingConnections, reloadTestingDatabases, closeTestingConnections} from "../../../utils/test-utils";
|
||||
|
||||
// fix closure tables later
|
||||
describe.skip("closure-table", () => {
|
||||
describe("closure-table", () => {
|
||||
|
||||
let connections: Connection[];
|
||||
before(async () => connections = await createTestingConnections({
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user