fix(prisma): provider statique + scripts de bascule SQLite/PostgreSQL

Prisma ne supporte pas env() pour le champ `provider` d'un datasource
(uniquement pour `url`). Le schéma utilise maintenant `provider = "sqlite"`
en statique, et deux scripts npm (`db:use-sqlite` / `db:use-postgres`)
réécrivent le fichier pour basculer entre les deux moteurs.

Sans ce fix, `prisma generate` échoue au boot.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
Mathieu BOURBON
2026-04-18 16:38:03 +02:00
parent fbb6138c28
commit 73d016ec24
3 changed files with 44 additions and 5 deletions

View File

@@ -1,9 +1,10 @@
// IPAM — Schéma Prisma
// ---------------------------------------------------------------------
// Le `provider` est injecté via la variable d'environnement DATABASE_PROVIDER
// (SQLite par défaut, PostgreSQL en option). Les deux sont pris en charge.
// Lors d'un changement de provider, régénérer le client : `pnpm db:generate`
// et lancer une nouvelle migration : `pnpm db:migrate`.
// Prisma n'accepte PAS `env()` pour le champ `provider` (seulement pour `url`).
// Le provider par défaut est donc `sqlite`. Pour basculer vers PostgreSQL :
// npm run db:use-postgres
// puis régénérer le client : `npm run db:generate` et migrer : `npm run db:migrate`.
// Pour revenir à SQLite : `npm run db:use-sqlite`.
// ---------------------------------------------------------------------
generator client {
@@ -11,7 +12,7 @@ generator client {
}
datasource db {
provider = env("DATABASE_PROVIDER")
provider = "sqlite"
url = env("DATABASE_URL")
}