Skip to content

Base de donnees

Schema Prisma

Le backend utilise un seul client Prisma :

ClientSchemaBaseUsage
prisma.toolback/prisma/schema.prismaBase Outils BDD (DATABASE_URL_TOOL)Donnees metier locales de l'application (users provisionnes localement, enterprises snapshots, documents, dossiers)

Generer les clients Prisma

Depuis back/ :

bash
yarn db:generate   # genere le client Prisma

A relancer apres chaque modification d'un fichier schema.prisma.

db_tool (Outils BDD) - points importants

Fichier : back/prisma/schema.prisma

  • datasource : postgresql
  • variable : DATABASE_URL_TOOL
  • entites metier principales :
    • users
    • enterprises
    • documents
    • folders

Le role applicatif est maintenant stocke directement dans users.role_type.

Pour les fichiers deposes, documents contient les metadonnees (name, bucket, path, uuid, size, dates) et users_documents porte la liaison entre l'utilisateur connecte et les documents visibles dans la liste Mes fichiers deposes.

PrismaService

Fichier : back/src/prisma/prisma.service.ts

Le service NestJS expose un seul client :

ts
class PrismaService {
  tool: PrismaClientTool
}

Injecter le service dans les classes via :

ts
constructor(private readonly prisma: PrismaService) {}

Point d'attention

BDD n'interroge plus directement la base Supabase via Prisma. Les donnees externes eventuellement necessaires passent par l'API console-admin.