iagate-querykit
Version:
QueryKit: lightweight TypeScript query toolkit with models, views, triggers, events, scheduler and adapters (better-sqlite3).
34 lines • 1.19 kB
TypeScript
import type { DatabaseExecutor } from './types';
import { QueryBuilder } from './query-builder';
export type MigrationStep = string | string[] | ((ctx: MigrationContext) => Promise<void> | void);
export type MigrationSpec = {
id: string;
up: MigrationStep;
down?: MigrationStep;
tags?: string[];
};
export type MigrationContext = {
exec: DatabaseExecutor;
dialect?: DatabaseExecutor['dialect'];
query: (sql: string, bindings?: any[]) => Promise<void>;
runSync: (sql: string, bindings?: any[]) => void;
qb: <T = any>(tableName: string) => QueryBuilder<T>;
};
export declare function listAppliedMigrations(executor?: DatabaseExecutor): Promise<string[]>;
export declare function migrateUp(migrations: MigrationSpec[], opts?: {
to?: string;
executor?: DatabaseExecutor;
}): Promise<{
applied: string[];
}>;
export declare function migrateDown(migrations: MigrationSpec[], opts?: {
to?: string;
steps?: number;
executor?: DatabaseExecutor;
}): Promise<{
reverted: string[];
}>;
export declare function resetMigrations(opts?: {
executor?: DatabaseExecutor;
}): Promise<void>;
//# sourceMappingURL=migration-manager.d.ts.map