typeorm
Version:
Data-Mapper ORM for TypeScript and ES2023+. Supports MySQL/MariaDB, PostgreSQL, MS SQL Server, Oracle, SAP HANA, SQLite, MongoDB databases.
36 lines (35 loc) • 1.48 kB
TypeScript
import { ColumnMetadata } from "../metadata/ColumnMetadata";
import type { DataSource } from "../data-source/DataSource";
import { EntityMetadata } from "../metadata/EntityMetadata";
import type { JoinTableMetadataArgs } from "../metadata-args/JoinTableMetadataArgs";
import type { RelationMetadata } from "../metadata/RelationMetadata";
/**
* Creates EntityMetadata for junction tables.
* Junction tables are tables generated by many-to-many relations.
*/
export declare class JunctionEntityMetadataBuilder {
private dataSource;
constructor(dataSource: DataSource);
/**
* Builds EntityMetadata for the junction of the given many-to-many relation.
*
* @param relation
* @param joinTable
*/
build(relation: RelationMetadata, joinTable: JoinTableMetadataArgs): EntityMetadata;
/**
* Collects referenced columns from the given join column args.
*
* @param relation
* @param joinTable
*/
protected collectReferencedColumns(relation: RelationMetadata, joinTable: JoinTableMetadataArgs): ColumnMetadata[];
/**
* Collects inverse referenced columns from the given join column args.
*
* @param relation
* @param joinTable
*/
protected collectInverseReferencedColumns(relation: RelationMetadata, joinTable: JoinTableMetadataArgs): ColumnMetadata[];
protected changeDuplicatedColumnNames(junctionColumns: ColumnMetadata[], inverseJunctionColumns: ColumnMetadata[]): void;
}