import { EntitySchemaIndexOptions } from "./EntitySchemaIndexOptions"; import { EntitySchemaColumnOptions } from "./EntitySchemaColumnOptions"; import { EntitySchemaRelationOptions } from "./EntitySchemaRelationOptions"; import { OrderByCondition } from "../find-options/OrderByCondition"; import { TableType } from "../metadata/types/TableTypes"; import { EntitySchemaUniqueOptions } from "./EntitySchemaUniqueOptions"; import { EntitySchemaCheckOptions } from "./EntitySchemaCheckOptions"; /** * Interface for entity metadata mappings stored inside "schemas" instead of models decorated by decorators. */ export declare class EntitySchemaOptions { /** * Name of the schema it extends. */ extends?: string; /** * Target bind to this entity schema. Optional. */ target?: Function; /** * Entity name. */ name: string; /** * Table name. */ tableName?: string; /** * Database name. Used in MySql and Sql Server. */ database?: string; /** * Schema name. Used in Postgres and Sql Server. */ schema?: string; /** * Table type. */ type?: TableType; /** * Specifies a property name by which queries will perform ordering by default when fetching rows. */ orderBy?: OrderByCondition; /** * Entity column's options. */ columns: { [P in keyof T]?: EntitySchemaColumnOptions; }; /** * Entity relation's options. */ relations?: { [P in keyof T]?: EntitySchemaRelationOptions; }; /** * Entity indices options. */ indices?: EntitySchemaIndexOptions[]; /** * Entity uniques options. */ uniques?: EntitySchemaUniqueOptions[]; /** * Entity check options. */ checks?: EntitySchemaCheckOptions[]; /** * Indicates if schema synchronization is enabled or disabled for this entity. * If it will be set to false then schema sync will and migrations ignore this entity. * By default schema synchronization is enabled for all entities. */ synchronize?: boolean; }