UNPKG

anydb-sql-migrations

Version:
33 lines (32 loc) 1.03 kB
declare module "anydb-sql-migrations" { import Promise = require('bluebird'); import { Column, Table, Transaction, AnydbSql } from 'anydb-sql'; export interface Migration { version: string; } export interface MigrationsTable extends Table<Migration> { version: Column<string>; } export interface MigFn { (tx: Transaction): Promise<any>; } export interface MigrationTask { up: MigFn; down: MigFn; name: string; } export interface MigrationOptions { check?: boolean; execute?: boolean; rollback?: boolean; drop?: boolean; } export function create(db: AnydbSql, tasks: string | MigrationTask[]): { run: () => Promise<any>; execMigrations: (migrationOptions: MigrationOptions) => Promise<void>; check: (f: (items: MigrationTask[]) => any) => Promise<any>; migrate: () => Promise<any>; undoLast: () => Promise<any>; drop: () => Promise<any>; }; }