28 lines
776 B
JavaScript
28 lines
776 B
JavaScript
#!/usr/bin/env node
|
|
import { spawn } from "node:child_process";
|
|
import { createRequire } from "node:module";
|
|
|
|
const require = createRequire(import.meta.url);
|
|
const prismaCli = require.resolve("prisma/build/index.js");
|
|
|
|
const localValidationUrl =
|
|
"postgresql://projectbrain:projectbrain@localhost:5432/projectbrain?schema=public";
|
|
|
|
const child = spawn(process.execPath, [prismaCli, "validate", "--schema", "prisma/schema.prisma"], {
|
|
stdio: "inherit",
|
|
env: {
|
|
...process.env,
|
|
DATABASE_URL: process.env.DATABASE_URL || localValidationUrl,
|
|
PRISMA_HIDE_UPDATE_MESSAGE: "true",
|
|
},
|
|
});
|
|
|
|
child.on("error", (error) => {
|
|
console.error(`Failed to start Prisma: ${error.message}`);
|
|
process.exit(1);
|
|
});
|
|
|
|
child.on("close", (code) => {
|
|
process.exit(code ?? 1);
|
|
});
|