import { IEntityMetaData } from "../../MetaData/Interface/IEntityMetaData"; import { RelationQueryBuilder } from "./RelationQueryBuilder"; import { IRelationMetaData } from "../../MetaData/Interface/IRelationMetaData"; import { IObjectType } from "../../Common/Type"; import { IColumnMetaData } from "../../MetaData/Interface/IColumnMetaData"; import { IConstraintMetaData } from "../../MetaData/Interface/IConstraintMetaData"; import { IQuery } from "../../Query/IQuery"; import { IConnection } from "../../Connection/IConnection"; import { IIndexMetaData } from "../../MetaData/Interface/IIndexMetaData"; import { ColumnTypeMapKey } from "../../Common/ColumnType"; import { ISchemaBuilder } from "../../Query/ISchemaBuilder"; import { ISchemaQuery } from "../../Query/ISchemaQuery"; import { ISchemaBuilderOption } from "../../Query/ISchemaBuilderOption"; import { ICompleteColumnType } from "../../Common/ICompleteColumnType"; export declare abstract class RelationSchemaBuilder implements ISchemaBuilder { abstract columnTypeMap: Map; connection: IConnection; option: ISchemaBuilderOption; readonly queryBuilder: RelationQueryBuilder; constructor(); getSchemaQuery(entityTypes: IObjectType[]): Promise; loadSchemas(entities: IEntityMetaData[]): Promise[]>; protected entityName(entityMeta: IEntityMetaData): string; createTable(entityMetaData: IEntityMetaData, name?: string): IQuery[]; renameTable(entityMetaData: IEntityMetaData, newName: string): IQuery[]; dropTable(entityMeta: IEntityMetaData): IQuery[]; addColumn(columnMeta: IColumnMetaData): IQuery[]; renameColumn(columnMeta: IColumnMetaData, newName: string): IQuery[]; alterColumn(columnMeta: IColumnMetaData): IQuery[]; dropColumn(columnMeta: IColumnMetaData): IQuery[]; addDefaultContraint(columnMeta: IColumnMetaData): IQuery[]; dropDefaultContraint(columnMeta: IColumnMetaData): IQuery[]; dropForeignKey(relationMeta: IRelationMetaData): IQuery[]; addForeignKey(relationMeta: IRelationMetaData): IQuery[]; addConstraint(constraintMeta: IConstraintMetaData): IQuery[]; dropConstraint(constraintMeta: IConstraintMetaData): IQuery[]; dropPrimaryKey(entityMeta: IEntityMetaData): IQuery[]; addPrimaryKey(entityMeta: IEntityMetaData): IQuery[]; addIndex(indexMeta: IIndexMetaData): IQuery[]; dropIndex(indexMeta: IIndexMetaData): IQuery[]; protected dropAllOldRelations(schema: IEntityMetaData, oldSchema: IEntityMetaData): IQuery[]; protected addAllNewRelations(schema: IEntityMetaData, oldSchema: IEntityMetaData): IQuery[]; protected updateEntitySchema(schema: IEntityMetaData, oldSchema: IEntityMetaData): IQuery[]; protected normalizeCheckDefinition(definition: string): string; protected getColumnChanges(columnSchema: IColumnMetaData, oldColumnSchema: IColumnMetaData): IQuery[]; protected columnDeclaration(columnMeta: IColumnMetaData, type?: "alter" | "create" | "add"): string; protected constraintDeclaration(constraintMeta: IConstraintMetaData): string; protected columnType(column: IColumnMetaData): ICompleteColumnType; protected primaryKeyDeclaration(entityMeta: IEntityMetaData): string; protected foreignKeyDeclaration(relationMeta: IRelationMetaData): string; protected defaultValue(columnMeta: IColumnMetaData): string; protected dropAllMasterRelations(entityMeta: IEntityMetaData): IQuery[]; protected addAllMasterRelations(entityMeta: IEntityMetaData): IQuery[]; protected createEntitySchema(schema: IEntityMetaData): IQuery[]; }