db-sql-toolkit
Version:
Helps with SQL statements, database migration, and bulk execution.
18 lines (17 loc) • 837 B
TypeScript
import type { Database } from "./Database";
type DbMigrationId = string;
interface ApplyMigrationsOptions<TDatabase extends Database> {
database: TDatabase;
migrations: Migration<TDatabase>[];
targetId?: DbMigrationId;
getExecutedMigrationIds?: ((database: TDatabase) => Promise<DbMigrationId[]>) | null;
insertMigrationId?: ((database: TDatabase, id: DbMigrationId) => Promise<void>) | null;
writeLog?: (message: string) => void;
}
interface Migration<TDatabase> {
id: DbMigrationId;
apply: (database: TDatabase) => Promise<void>;
}
declare function applyMigrations<TDatabase extends Database>({ database, migrations, targetId, getExecutedMigrationIds, insertMigrationId, writeLog, }: ApplyMigrationsOptions<TDatabase>): Promise<void>;
export type { ApplyMigrationsOptions };
export { applyMigrations };