UNPKG

typeorm-extension

Version:

A library to create/drop database, simple seeding data sets, ...

45 lines (44 loc) 1.27 kB
import type { DataSource } from 'typeorm'; import type { TSConfig } from '../utils/tsconfig'; import type { SeederFactoryItem, SeederFactoryManager } from './factory'; export interface Seeder { /** * Track seeder execution. * * Default: false */ track?: boolean; run(dataSource: DataSource, factoryManager: SeederFactoryManager): Promise<any>; } export type SeederConstructor = new () => Seeder; export type SeederOptions = { seeds?: SeederConstructor[] | string[]; seedName?: string; seedTableName?: string; seedTracking?: boolean; factories?: SeederFactoryItem[] | string[]; factoriesLoad?: boolean; }; export type SeederExecutorOptions = { /** * Root directory of the project. */ root?: string; /** * Directory path to the tsconfig.json file * * Default: process.cwd() + path.sep + tsconfig.json */ tsconfig?: string | TSConfig; /** * This option indicates if file paths should be preserved, * and treated as if the just-in-time compilation environment is detected. */ preserveFilePaths?: boolean; }; export type SeederPrepareElement = { constructor: SeederConstructor; timestamp?: number; fileName?: string; filePath?: string; };