UNPKG

mgdb-migrator

Version:
42 lines (41 loc) 1.26 kB
import { Db, MongoClientOptions } from 'mongodb'; export type SyslogLevels = 'debug' | 'info' | 'notice' | 'warning' | 'error' | 'crit' | 'alert'; export type Logger = (level: SyslogLevels, ...args: unknown[]) => void; export interface DbProperties { connectionUrl: string; name?: string; options?: MongoClientOptions; } export interface MigratorOptions { log?: boolean; logger?: Logger; logIfLatest?: boolean; collectionName?: string; db: DbProperties | Db; } export interface Migration { version: number; name: string; up: (db: Db, logger?: Logger) => Promise<void> | void; down: (db: Db, logger?: Logger) => Promise<void> | void; } export declare class Migrator { private migratorKey; private defaultMigration; private list; private collection; private db; private options; constructor(opts?: MigratorOptions); config(opts?: MigratorOptions): Promise<void>; add(migration: Migration): void; migrateTo(command: string | number): Promise<void>; getNumberOfMigrations(): number; getVersion(): Promise<number>; unlock(): void; reset(): Promise<void>; private execute; private getControl; private setControl; private findIndexByVersion; }