29 lines
677 B
JavaScript
29 lines
677 B
JavaScript
import { spawnSync } from 'node:child_process';
|
|
|
|
if (!process.env.DATABASE_URL) throw new Error('DATABASE_URL is required');
|
|
const commands = [
|
|
['prisma', 'migrate', 'deploy'],
|
|
['prisma', 'migrate', 'status'],
|
|
[
|
|
'prisma',
|
|
'migrate',
|
|
'diff',
|
|
'--from-config-datasource',
|
|
'--to-schema',
|
|
'prisma/schema.prisma',
|
|
'--exit-code',
|
|
],
|
|
];
|
|
for (const args of commands) {
|
|
const result = spawnSync(
|
|
process.execPath,
|
|
['node_modules/prisma/build/index.js', ...args.slice(1)],
|
|
{
|
|
stdio: 'inherit',
|
|
env: process.env,
|
|
},
|
|
);
|
|
if (result.error) throw result.error;
|
|
if (result.status !== 0) process.exit(result.status ?? 1);
|
|
}
|