UNPKG

undeexcepturi

Version:

TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, MySQL, PostgreSQL and SQLite databases as well as usage with vanilla JavaScript.

24 lines (18 loc) 753 B
import { EntityManager } from '@mikro-orm/core'; import { Seeder } from '@mikro-orm/seeder'; import { FilterFactory, FilterValueFactory, ProjectFactory, RiskFactory } from './factories'; export class DatabaseSeeder extends Seeder { async run(em: EntityManager): Promise<void> { const NUM_FILTER_VALUES = 6; const filters = new FilterFactory(em).each(entity => { entity.values.set(new FilterValueFactory(em).make(NUM_FILTER_VALUES)); }).make(5); new ProjectFactory(em).makeOne({ filters, risks: new RiskFactory(em).each(risk => { risk.filterValues.set(filters.map(filter => filter.values.getItems()[Math.floor(Math.random() * NUM_FILTER_VALUES)])); }).make(100), }); await em.flush(); } }