UNPKG

@sqb/migrator

Version:

Database migrator for SQB

43 lines (42 loc) 1.74 kB
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; }