UNPKG

@sqb/migrator

Version:

Database migrator for SQB

36 lines (35 loc) 1.33 kB
import type { Migration, MigrationPackage, MigrationTask } from './migration-package.js'; import type { MigrationStatus } from './types.js'; export declare abstract class MigrationAdapter { abstract readonly packageName: string; abstract readonly status: MigrationStatus; abstract readonly version: number; abstract close(): Promise<void>; abstract refresh(): Promise<void>; abstract update(info: { status?: MigrationStatus; version?: number; }): Promise<void>; abstract writeEvent(event: MigrationAdapter.Event): Promise<void>; abstract executeTask(migrationPackage: MigrationPackage, migration: Migration, task: MigrationTask, variables: Record<string, any>): Promise<void>; abstract lockSchema(): Promise<void>; abstract unlockSchema(): Promise<void>; abstract backupDatabase(): Promise<void>; abstract restoreDatabase(): Promise<void>; protected replaceVariables(text: string, variables: Record<string, string>): string; } export declare namespace MigrationAdapter { enum EventKind { started = "started", success = "success", error = "error" } interface Event { event: EventKind; version: number; message: string; title?: string; filename?: string; details?: string; } }