manicanldes-backend/scripts/test-migrations.mjs

25 lines
780 B
JavaScript

import { PGlite } from '@electric-sql/pglite';
import { PGLiteSocketServer } from '@electric-sql/pglite-socket';
import { spawn } from 'node:child_process';
const db = await PGlite.create();
const server = new PGLiteSocketServer({ db, port: 0, host: '127.0.0.1' });
await server.start();
try {
const status = await new Promise((resolve, reject) => {
const child = spawn(process.execPath, ['scripts/verify-migrations.mjs'], {
stdio: 'inherit',
env: {
...process.env,
DATABASE_URL: `postgresql://postgres:postgres@${server.getServerConn()}/postgres`,
},
});
child.once('error', reject);
child.once('exit', (code) => resolve(code ?? 1));
});
process.exitCode = status;
} finally {
await server.stop();
await db.close();
}