#!/usr/bin/env node /** * Bascule le provider Prisma entre SQLite et PostgreSQL. * Prisma n'accepte pas env() pour `provider`, donc on réécrit le fichier. * * Usage : node scripts/switch-db-provider.mjs sqlite * node scripts/switch-db-provider.mjs postgresql */ import { readFileSync, writeFileSync } from 'node:fs'; import { fileURLToPath } from 'node:url'; import { dirname, resolve } from 'node:path'; const __dirname = dirname(fileURLToPath(import.meta.url)); const schemaPath = resolve(__dirname, '..', 'prisma', 'schema.prisma'); const target = process.argv[2]; if (!['sqlite', 'postgresql'].includes(target)) { console.error('Usage : node scripts/switch-db-provider.mjs '); process.exit(1); } const content = readFileSync(schemaPath, 'utf8'); const next = content.replace( /provider\s*=\s*"(sqlite|postgresql)"/, `provider = "${target}"`, ); if (next === content) { console.log(`Provider déjà réglé sur "${target}", rien à faire.`); process.exit(0); } writeFileSync(schemaPath, next); console.log(`✅ Provider Prisma basculé sur "${target}"`); console.log(' Pense à adapter DATABASE_URL dans .env puis :'); console.log(' npm run db:generate && npm run db:migrate');