import { execFileSync } from "node:child_process"; import "dotenv/config"; /** * Spielt vor dem Testlauf alle Migrationen in die Testdatenbank ein. * * Absichtlich gegen TEST_DATABASE_URL und nie gegen DATABASE_URL: die Hilfen in * tests/hilfen/db.ts leeren vor jedem Test alle Tabellen. */ export default function vorbereiten(): void { const url = process.env["TEST_DATABASE_URL"]; if (!url) { throw new Error( "TEST_DATABASE_URL fehlt (siehe .env.example). Datenbanktests brauchen eine eigene Datenbank.", ); } execFileSync("pnpm", ["exec", "prisma", "migrate", "deploy"], { env: { ...process.env, DATABASE_URL: url }, stdio: "pipe", }); }