25 lines
780 B
JavaScript
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();
|
|
}
|