@deepbrainspace/nx-surrealdb
Version:
NX plugin for SurrealDB migrations with modular architecture
26 lines (25 loc) • 1.21 kB
TypeScript
import { Migration, MigrationRecord } from '../configuration/types';
import { SurrealDBClient } from '../infrastructure/client';
export declare class MigrationRepository {
private client;
private schemaPath?;
private dryRun;
private debug;
constructor(client: SurrealDBClient, schemaPath?: string, dryRun?: boolean);
initialize(): Promise<void>;
canApplyMigration(number: string, name: string, requestedDirection: 'up' | 'down'): Promise<{
canApply: boolean;
reason?: string;
}>;
getLatestMigrationStatus(number: string, name: string): Promise<Migration | null>;
addMigration(migration: MigrationRecord): Promise<void>;
getMigrationStatus(direction: string, number: string, name: string, filename?: string): Promise<Migration | null>;
getMigrationsByDirectionAndPath(direction: string, path: string): Promise<Migration[]>;
findLastMigrations(moduleIds: string[]): Promise<Migration[]>;
updateMigrationStatus(recordId: string, status: 'success' | 'fail'): Promise<void>;
getAllModuleStatusCounts(moduleIds?: string[]): Promise<Map<string, {
appliedCount: number;
totalCount: number;
lastApplied?: Date;
}>>;
}