@augment-vir/node
Version:
A collection of augments, helpers types, functions, and classes only for Node.js (backend) JavaScript environments.
30 lines (29 loc) • 1.05 kB
JavaScript
import { runPrismaCommand } from './run-prisma-command.js';
export async function getPrismaDiff(schemaFilePath, env = {}) {
const command = [
'migrate',
'diff',
`--from-schema-datamodel='${schemaFilePath}'`,
`--to-schema-datasource='${schemaFilePath}'`,
].join(' ');
const results = await runPrismaCommand({ command }, undefined, env);
if (results.stdout.trim() === 'No difference detected.') {
return '';
}
else {
return results.stdout.trim();
}
}
export async function doesPrismaDiffExist(schemaFilePath, env = {}) {
return !!(await getPrismaDiff(schemaFilePath, env));
}
export async function resetDevPrismaDatabase(schemaFilePath, options, env = {}) {
if (options.withMigrations) {
await runPrismaCommand({ command: 'migrate reset --force --skip-generate --skip-seed' }, schemaFilePath, env);
}
else {
await runPrismaCommand({
command: 'db push --accept-data-loss --skip-generate',
}, schemaFilePath, env);
}
}