iagate-querykit
Version:
QueryKit: lightweight TypeScript query toolkit with models, views, triggers, events, scheduler and adapters (better-sqlite3).
20 lines • 772 B
TypeScript
import type { DatabaseExecutor } from './types';
import { QueryBuilder } from './query-builder';
export type SeedContext = {
exec: DatabaseExecutor;
qb: <T = any>(table: string) => QueryBuilder<T>;
};
export interface SeedRunnable<T = any> {
run(ctx: SeedContext): Promise<Partial<T>[]> | Partial<T>[];
}
export declare class Seed<T = any> implements SeedRunnable<T> {
run(_ctx: SeedContext): Promise<Partial<T>[]>;
}
export type RunSeedOptions<T = any> = {
truncate?: boolean;
uniqueBy?: (keyof T)[] | string[];
upsert?: boolean;
ignoreDuplicates?: boolean;
};
export declare function runSeed<T = any>(table: string, dataOrSeed: Partial<T>[] | SeedRunnable<T>, opts?: RunSeedOptions<T>): Promise<number>;
//# sourceMappingURL=seed.d.ts.map