UNPKG

typeorm

Version:

Data-Mapper ORM for TypeScript, ES7, ES6, ES5. Supports MySQL, PostgreSQL, MariaDB, SQLite, MS SQL Server, Oracle, MongoDB databases.

116 lines (115 loc) 3.12 kB
import { TableColumn } from "./TableColumn"; import { TableIndex } from "./TableIndex"; import { TableForeignKey } from "./TableForeignKey"; import { Driver } from "../../driver/Driver"; import { TableOptions } from "../options/TableOptions"; import { EntityMetadata } from "../../metadata/EntityMetadata"; import { TableUnique } from "./TableUnique"; import { TableCheck } from "./TableCheck"; /** * Table in the database represented in this class. */ export declare class Table { /** * Contains database name, schema name and table name. * E.g. "myDB"."mySchema"."myTable" */ name: string; /** * Table columns. */ columns: TableColumn[]; /** * Table indices. */ indices: TableIndex[]; /** * Table foreign keys. */ foreignKeys: TableForeignKey[]; /** * Table unique constraints. */ uniques: TableUnique[]; /** * Table check constraints. */ checks: TableCheck[]; /** * Indicates if table was just created. * This is needed, for example to check if we need to skip primary keys creation * for new tables. */ justCreated: boolean; /** * Table engine. */ engine?: string; constructor(options?: TableOptions); readonly primaryColumns: TableColumn[]; /** * Clones this table to a new table with all properties cloned. */ clone(): Table; /** * Add column and creates its constraints. */ addColumn(column: TableColumn): void; /** * Remove column and its constraints. */ removeColumn(column: TableColumn): void; /** * Adds unique constraint. */ addUniqueConstraint(uniqueConstraint: TableUnique): void; /** * Removes unique constraint. */ removeUniqueConstraint(removedUnique: TableUnique): void; /** * Adds check constraint. */ addCheckConstraint(checkConstraint: TableCheck): void; /** * Removes check constraint. */ removeCheckConstraint(removedCheck: TableCheck): void; /** * Adds foreign keys. */ addForeignKey(foreignKey: TableForeignKey): void; /** * Removes foreign key. */ removeForeignKey(removedForeignKey: TableForeignKey): void; /** * Adds index. */ addIndex(index: TableIndex, isMysql?: boolean): void; /** * Removes index. */ removeIndex(tableIndex: TableIndex, isMysql?: boolean): void; findColumnByName(name: string): TableColumn | undefined; /** * Returns all column indices. */ findColumnIndices(column: TableColumn): TableIndex[]; /** * Returns all column foreign keys. */ findColumnForeignKeys(column: TableColumn): TableForeignKey[]; /** * Returns all column uniques. */ findColumnUniques(column: TableColumn): TableUnique[]; /** * Returns all column checks. */ findColumnChecks(column: TableColumn): TableCheck[]; /** * Creates table from a given entity metadata. */ static create(entityMetadata: EntityMetadata, driver: Driver): Table; }