UNPKG

lipgrate

Version:

Lipgrate is a clean and safe migration toolkit for SQL databases. Designed to be readable, minimal, and powerful.

28 lines (24 loc) 818 B
const { getDbAdapter } = require('../adapters'); const { loadConfig } = require('../common/config'); const logger = require('../common/logger'); const path = require('path'); async function execute(args, options = {}) { logger.info('Seeding database...'); const config = loadConfig(options.config); const db = getDbAdapter(config); try { const runnerPath = path.join(__dirname, 'runners', `seed_${config.client}.js`); const runner = require(runnerPath); await runner.runSeeds(db, config); } catch (error) { if (error.code === 'MODULE_NOT_FOUND') { logger.error(`Seeder for adapter '${config.client}' not found.`); } else { logger.error(`Seeding failed: ${error.message}`); } throw error; } finally { await db.disconnect(); } } module.exports = { execute };