typeorm-extension
Version:
A library to create/drop database, simple seeding data sets, ...
45 lines (44 loc) • 1.27 kB
TypeScript
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;
};