// Generates prisma/schema.sqlite.prisma from the canonical schema.prisma by // swapping only the datasource provider to sqlite. Keeping a single source of // truth for the models avoids drift; the sqlite schema is used for local tests // (PrismaClient with a mysql provider cannot use a `file:` URL). import { readFileSync, writeFileSync } from 'node:fs'; import { resolve } from 'node:path'; const src = resolve('prisma/schema.prisma'); const dest = resolve('prisma/schema.sqlite.prisma'); const original = readFileSync(src, 'utf8'); if (!/provider\s*=\s*"mysql"/.test(original)) { throw new Error('Expected datasource provider "mysql" in schema.prisma'); } const sqlite = original.replace(/provider\s*=\s*"mysql"/, 'provider = "sqlite"'); const banner = '// AUTO-GENERATED from schema.prisma by scripts/make-sqlite-schema.mjs — do not edit.\n'; writeFileSync(dest, banner + sqlite); console.log(`Wrote ${dest} (sqlite provider) from schema.prisma`);