UNPKG

mongoose-data-seed

Version:

Seed mongodb with data using mongoose models

38 lines (28 loc) 1.09 kB
import config from '../../config'; import { MdSeedRunner } from '../../core'; import { validateUserConfig } from '../../utils/helpers'; import RunLogger from './run-logger'; /** * Run seeders * @param {Object} [options={}] Options * @param {string[]} [options.selectedSeeders=[]] Selected seeders to run. * When empty, run all seeders. * @param {boolean} [options.dropDatabase=false] Drop database before running? * @return {Promise} */ const run = async ({ selectedSeeders = [], dropDatabase = false } = {}) => { validateUserConfig(); // get relevant user-config const { connect, dropdb, seedersList } = config.loadUserConfig(); // create logger const logger = new RunLogger(); // create runner const runner = new MdSeedRunner({ connect, dropdb, seedersList }); // run seeders const observable = runner.run({ selectedSeeders, dropDatabase }); // subscribe logger observable.subscribe(logger.asObserver()); // wait for runner await observable.toPromise(); }; export default run;