@sqb/migrator
Version:
Database migrator for SQB
43 lines (42 loc) • 1.74 kB
TypeScript
import { Connection } from 'postgrejs';
import { StrictOmit } from 'ts-gems';
import type { DbMigratorOptions } from '../db-migrator.js';
import { MigrationAdapter } from '../migration-adapter.js';
import { Migration, MigrationPackage, MigrationTask } from '../migration-package.js';
import { MigrationStatus } from '../types.js';
export declare class PgMigrationAdapter extends MigrationAdapter {
protected _connection: Connection;
protected _infoSchema: string;
protected _migrationPackage: MigrationPackage;
protected _version: number;
protected _status: MigrationStatus;
protected defaultVariables: {
tablespace: string;
schema: string;
owner: string;
};
readonly summaryTable = "migration_summary";
readonly eventTable = "migration_events";
get packageName(): string;
get version(): number;
get status(): MigrationStatus;
get infoSchema(): string;
get summaryTableFull(): string;
get eventTableFull(): string;
static create(options: StrictOmit<DbMigratorOptions, 'migrationPackage'> & {
migrationPackage: MigrationPackage;
}): Promise<PgMigrationAdapter>;
close(): Promise<void>;
refresh(): Promise<void>;
update(info: {
status?: MigrationStatus;
version?: number;
}): Promise<void>;
writeEvent(event: MigrationAdapter.Event): Promise<void>;
executeTask(migrationPackage: MigrationPackage, migration: Migration, task: MigrationTask, variables: Record<string, any>): Promise<void>;
backupDatabase(): Promise<void>;
lockSchema(): Promise<void>;
restoreDatabase(): Promise<void>;
unlockSchema(): Promise<void>;
protected rowToSql(tableName: string, row: Object): string;
}