dbgate-tools
Version:
Auxiliary tools for other DbGate packages.
74 lines (73 loc) • 2.38 kB
TypeScript
import type { DatabaseInfo, EngineDriver, TableInfo } from 'dbgate-types';
import { SqlDumper } from './SqlDumper';
interface SqlGeneratorOptions {
dropTables: boolean;
checkIfTableExists: boolean;
dropReferences: boolean;
createTables: boolean;
createReferences: boolean;
createForeignKeys: boolean;
createIndexes: boolean;
insert: boolean;
skipAutoincrementColumn: boolean;
skipComputedColumns: boolean;
disableConstraints: boolean;
omitNulls: boolean;
truncate: boolean;
dropViews: boolean;
checkIfViewExists: boolean;
createViews: boolean;
dropMatviews: boolean;
checkIfMatviewExists: boolean;
createMatviews: boolean;
dropProcedures: boolean;
checkIfProcedureExists: boolean;
createProcedures: boolean;
dropFunctions: boolean;
checkIfFunctionExists: boolean;
createFunctions: boolean;
dropTriggers: boolean;
checkIfTriggerExists: boolean;
createTriggers: boolean;
dropSchedulerEvents: boolean;
checkIfSchedulerEventExists: boolean;
createSchedulerEvents: boolean;
}
interface SqlGeneratorObject {
schemaName: string;
pureName: string;
objectTypeField: 'tables' | 'views' | 'procedures' | 'functions' | 'triggers' | 'schedulerEvents';
}
export declare class SqlGenerator {
options: SqlGeneratorOptions;
objects: SqlGeneratorObject[];
dmp: SqlDumper;
driver: EngineDriver;
pool: any;
private tables;
private views;
private matviews;
private procedures;
private functions;
private triggers;
private schedulerEvents;
dbinfo: DatabaseInfo;
isTruncated: boolean;
isUnhandledException: boolean;
constructor(dbinfo: DatabaseInfo, options: SqlGeneratorOptions, objects: SqlGeneratorObject[], dmp: SqlDumper, driver: EngineDriver, pool: any);
private handleException;
dump(): Promise<void>;
createForeignKeys(): void;
truncateTables(): void;
createTables(): void;
insertData(): Promise<void>;
checkDumper(): boolean;
dropObjects(list: any, name: any): void;
createObjects(list: any, name: any): void;
dropTables(): void;
insertTableData(table: TableInfo): Promise<void>;
processReadable(table: TableInfo, readable: any): Promise<unknown>;
extract(objectTypeField: any): any;
enableConstraints(enabled: any): void;
}
export {};