Applying D1 migrations in tests
I don't know how to get this working.
import { Miniflare } from 'miniflare';
import { afterAll, beforeAll, describe } from 'vitest';
import { spawn } from 'child_process';
describe('App entry', () => {
beforeAll(() => {
const mf = new Miniflare({
modules: true,
scriptPath: './dist/index.js',
d1Databases: ['DB'],
d1Persist: '.wrangler/state/v3/d1'
});
const migrationProcess = spawn('pnpm', ['wrangler', 'd1', 'migrations', 'apply', 'snow-db', '--local'], {
shell: true,
stdio: 'inherit'
});
await new Promise<void>((resolve, reject) => {
migrationProcess.on('close', (code) => {
if (code === 0) {
console.log('Migrations completed successfully');
resolve();
} else {
reject(`Migrations process exited with code ${code}`);
}
});
});
afterAll(() => mf.dispose());
// test here
});import { Miniflare } from 'miniflare';
import { afterAll, beforeAll, describe } from 'vitest';
import { spawn } from 'child_process';
describe('App entry', () => {
beforeAll(() => {
const mf = new Miniflare({
modules: true,
scriptPath: './dist/index.js',
d1Databases: ['DB'],
d1Persist: '.wrangler/state/v3/d1'
});
const migrationProcess = spawn('pnpm', ['wrangler', 'd1', 'migrations', 'apply', 'snow-db', '--local'], {
shell: true,
stdio: 'inherit'
});
await new Promise<void>((resolve, reject) => {
migrationProcess.on('close', (code) => {
if (code === 0) {
console.log('Migrations completed successfully');
resolve();
} else {
reject(`Migrations process exited with code ${code}`);
}
});
});
afterAll(() => mf.dispose());
// test here
});