stackpress
Version:
Incept is a content management framework.
22 lines (21 loc) • 713 B
JavaScript
import { sequence } from '../sql/helpers';
export default async function purge(server, database) {
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) {
const exists = models.find(map => map.config.name === model.name);
if (exists) {
queries.push(database.dialect.truncate(model.snake, true));
}
}
if (queries.length) {
await database.transaction(async (connection) => {
for (const query of queries) {
await connection.query(query);
}
});
}
}
;