prisma-migrations
Version:
A Node.js library to manage Prisma ORM migrations like other ORMs
36 lines • 1.15 kB
TypeScript
import type { PrismaClient } from "../types";
export declare class MigrationLockError extends Error {
readonly isTimeout: boolean;
constructor(message: string, isTimeout?: boolean);
}
export declare class MigrationLock {
private prisma;
private lockId;
private lockAcquired;
private databaseType;
constructor(prisma: PrismaClient);
private detectDatabaseType;
acquire(timeoutMs?: number): Promise<void>;
private tryAcquire;
private acquirePostgresLock;
private acquireMySQLLock;
private acquireSQLiteLock;
release(): Promise<void>;
private releasePostgresLock;
private releaseMySQLLock;
private releaseSQLiteLock;
tryLock<T>(fn: () => Promise<T>): Promise<{
acquired: boolean;
result?: T;
}>;
withLock<T>(fn: () => Promise<T>, timeoutMs?: number): Promise<T>;
isLocked(): Promise<boolean>;
private isPostgresLocked;
private isMySQLLocked;
private isSQLiteLocked;
forceRelease(): Promise<void>;
private forceReleasePostgres;
private forceReleaseMySQL;
private forceReleaseSQLite;
}
//# sourceMappingURL=locking.d.ts.map