UNPKG

stackpress

Version:

Incept is a content management framework.

22 lines (21 loc) 796 B
import { sequence } from '../sql/helpers.js'; export default async function drop(server, database, cli) { const client = server.plugin('client') || {}; const models = Object.values(client.model); const queries = []; const order = sequence(models.map(model => model.config)); for (const model of order) { queries.push(database.dialect.drop(model.snake)); } if (queries.length) { cli?.verbose && cli.control.system('Dropping database...'); await database.transaction(async (connection) => { for (const query of queries) { cli?.verbose && cli.control.info(query.query); await connection.query(query); } }); cli?.verbose && cli.control.success('Database Dropped.'); } } ;