UNPKG

dbgate-tools

Version:

Auxiliary tools for other DbGate packages.

132 lines (131 loc) 5.32 kB
import { DbDiffOptions } from './diffTools'; import { AlterProcessor, ColumnInfo, ConstraintInfo, DatabaseInfo, SqlObjectInfo, SqlDialect, TableInfo, NamedObjectInfo } from '../../types'; interface AlterOperation_CreateTable { operationType: 'createTable'; newObject: TableInfo; } interface AlterOperation_DropTable { operationType: 'dropTable'; oldObject: TableInfo; } interface AlterOperation_CreateSqlObject { operationType: 'createSqlObject'; newObject: SqlObjectInfo; } interface AlterOperation_DropSqlObject { operationType: 'dropSqlObject'; oldObject: SqlObjectInfo; } interface AlterOperation_RenameTable { operationType: 'renameTable'; object: TableInfo; newName: string; } interface AlterOperation_RenameSqlObject { operationType: 'renameSqlObject'; object: SqlObjectInfo; newName: string; } interface AlterOperation_CreateColumn { operationType: 'createColumn'; newObject: ColumnInfo; } interface AlterOperation_ChangeColumn { operationType: 'changeColumn'; oldObject: ColumnInfo; newObject: ColumnInfo; } interface AlterOperation_RenameColumn { operationType: 'renameColumn'; object: ColumnInfo; newName: string; } interface AlterOperation_DropColumn { operationType: 'dropColumn'; oldObject: ColumnInfo; } interface AlterOperation_CreateConstraint { operationType: 'createConstraint'; newObject: ConstraintInfo; } interface AlterOperation_ChangeConstraint { operationType: 'changeConstraint'; oldObject: ConstraintInfo; newObject: ConstraintInfo; } interface AlterOperation_DropConstraint { operationType: 'dropConstraint'; oldObject: ConstraintInfo; isRecreate?: boolean; } interface AlterOperation_RenameConstraint { operationType: 'renameConstraint'; object: ConstraintInfo; newName: string; } interface AlterOperation_RecreateTable { operationType: 'recreateTable'; oldTable: TableInfo; newTable: TableInfo; } interface AlterOperation_FillPreloadedRows { operationType: 'fillPreloadedRows'; table: NamedObjectInfo; oldRows: any[]; newRows: any[]; key: string[]; insertOnly: string[]; autoIncrementColumn: string; } interface AlterOperation_SetTableOption { operationType: 'setTableOption'; table: TableInfo; optionName: string; optionValue: string; } export type AlterOperation = AlterOperation_CreateColumn | AlterOperation_ChangeColumn | AlterOperation_DropColumn | AlterOperation_CreateConstraint | AlterOperation_ChangeConstraint | AlterOperation_DropConstraint | AlterOperation_CreateTable | AlterOperation_DropTable | AlterOperation_RenameTable | AlterOperation_RenameColumn | AlterOperation_RenameConstraint | AlterOperation_CreateSqlObject | AlterOperation_DropSqlObject | AlterOperation_RecreateTable | AlterOperation_FillPreloadedRows | AlterOperation_SetTableOption | AlterOperation_RenameSqlObject; export declare class AlterPlan { wholeOldDb: DatabaseInfo; wholeNewDb: DatabaseInfo; dialect: SqlDialect; opts: DbDiffOptions; recreates: { tables: number; constraints: number; sqlObjects: number; }; operations: AlterOperation[]; constructor(wholeOldDb: DatabaseInfo, wholeNewDb: DatabaseInfo, dialect: SqlDialect, opts: DbDiffOptions); createTable(table: TableInfo): void; dropTable(table: TableInfo): void; createSqlObject(obj: SqlObjectInfo): void; dropSqlObject(obj: SqlObjectInfo): void; createColumn(column: ColumnInfo): void; changeColumn(oldColumn: ColumnInfo, newColumn: ColumnInfo): void; dropColumn(column: ColumnInfo): void; createConstraint(constraint: ConstraintInfo): void; changeConstraint(oldConstraint: ConstraintInfo, newConstraint: ConstraintInfo): void; dropConstraint(constraint: ConstraintInfo): void; renameTable(table: TableInfo, newName: string): void; renameSqlObject(table: TableInfo, newName: string): void; renameColumn(column: ColumnInfo, newName: string): void; renameConstraint(constraint: ConstraintInfo, newName: string): void; recreateTable(oldTable: TableInfo, newTable: TableInfo): void; fillPreloadedRows(table: NamedObjectInfo, oldRows: any[], newRows: any[], key: string[], insertOnly: string[], autoIncrementColumn: string): void; setTableOption(table: TableInfo, optionName: string, optionValue: string): void; run(processor: AlterProcessor): void; _hasOnlyCommentChange(op: AlterOperation): boolean; _getDependendColumnConstraints(column: ColumnInfo, dependencyDefinition: any): import("dbgate-types/dbinfo").PrimaryKeyInfo[]; _addLogicalDependencies(): AlterOperation[]; _transformToImplementedOps(): AlterOperation[]; _canCreateConstraint(cnt: ConstraintInfo): boolean; _canDropConstraint(cnt: ConstraintInfo): boolean; _testTableRecreate(op: AlterOperation, operationType: string, isAllowed: boolean | Function, objectField: string): AlterOperation[] | null; _removeRecreatedTableAlters(): AlterOperation[]; _groupTableRecreations(): AlterOperation[]; _moveForeignKeysToLast(): AlterOperation[]; _filterAllowedOperations(): AlterOperation[]; transformPlan(): void; } export declare function runAlterOperation(op: AlterOperation, processor: AlterProcessor): void; export {};