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
JavaScript
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 };