@launchql/migrate
Version:
LaunchQL Migrate
19 lines (18 loc) • 713 B
TypeScript
import { Pool, PoolClient } from 'pg';
export interface TransactionOptions {
useTransaction: boolean;
}
export interface TransactionContext {
client: PoolClient | Pool;
isTransaction: boolean;
}
/**
* Execute a function within a transaction context
* If useTransaction is true, wraps the execution in a transaction
* If false, uses the pool directly without transaction
*/
export declare function withTransaction<T>(pool: Pool, options: TransactionOptions, fn: (context: TransactionContext) => Promise<T>): Promise<T>;
/**
* Helper to execute a query within a transaction context
*/
export declare function executeQuery(context: TransactionContext, query: string, params?: any[]): Promise<any>;