import { prisma } from "../db/prisma.js"; import { seedReferenceData } from "../db/reference-seed-data.js"; /** * Runtime seed entry point for the production Docker image — run via * `node dist/scripts/seed-runtime.js` in apps/api/Dockerfile's CMD, after * `prisma migrate deploy` and before starting the server. * * Deliberately separate from `prisma/seed.ts` (the dev-time entry point * wired to `prisma db seed`/`prisma migrate reset`): that one imports * `seedReferenceData` from `../src/db/...` and runs via `tsx`, but the * runtime image only ships compiled `dist` output, not `src` (see the * Dockerfile) — this lives under `src/` instead, so `tsc` compiles it * alongside everything else, and it runs under plain `node`, no tsx * needed at runtime. * * Safe to run on every container start: `seedReferenceData` upserts by * each row's unique name, so re-running it against a database that * already has this data is a no-op. */ seedReferenceData(prisma) .then(() => prisma.$disconnect()) .catch(async (err) => { console.error(err); await prisma.$disconnect(); process.exit(1); });