Configuration Prisma Database
Guides complets pour configurer Prisma ORM avec divers fournisseurs de base de données.
Quand appliquer
Référencez cette compétence quand :
- Initialiser un nouveau projet Prisma
- Changer de fournisseur de base de données
- Configurer les chaînes de connexion et variables d'environnement
- Dépanner les problèmes de connexion à la base de données
- Configurer des fonctionnalités spécifiques à la base de données
- Générer et instancier Prisma Client
Catégories de règles par priorité
| Priorité | Catégorie | Impact | Préfixe |
|---|---|---|---|
| 1 | Guides fournisseurs | CRITIQUE | noms des fournisseurs |
| 2 | Prisma Postgres | ÉLEVÉ | prisma-postgres |
| 3 | Configuration Client | CRITIQUE | prisma-client-setup |
Prérequis système
- Node.js 20.19.0+
- TypeScript 5.4.0+
Runtime Bun
Si vous utilisez Bun, lancez les commandes Prisma CLI avec bunx --bun prisma ... pour que Prisma utilise le runtime Bun au lieu de revenir à Node.js.
Bases de données supportées
| Base de données | Chaîne Provider | Notes |
|---|---|---|
| PostgreSQL | postgresql |
Par défaut, support complet des fonctionnalités |
| MySQL | mysql |
Support généralisé, certaines différences JSON |
| SQLite | sqlite |
Fichier local, pas d'enum/listes scalaires |
| MongoDB | mongodb |
Workflow spécifique Mongo ; ne pas appliquer les conseils du driver adapter SQL |
| SQL Server | sqlserver |
Écosystème Microsoft |
| CockroachDB | cockroachdb |
SQL distribué, compatible Postgres |
| Prisma Postgres | postgresql |
Base de données serverless gérée |
Fichiers de configuration
Votre forme de configuration dépend du fournisseur et de la version majeure de Prisma :
- Tous les fournisseurs utilisent
prisma/schema.prisma. - Configurations SQL Prisma 7 utilisent généralement
prisma.config.tspour les URLs de datasource. - Les projets MongoDB doivent rester sur Prisma 6.x, garder
url = env("DATABASE_URL")dans le schéma, et continuer avec la configuration MongoDB classique.
Driver Adapters
Le workflow SQL standard utilise un driver adapter. Choisissez l'adapter et le driver pour votre base de données et passez l'adapter à PrismaClient.
| Base de données | Adapter | Driver JS |
|---|---|---|
| PostgreSQL | @prisma/adapter-pg |
pg |
| CockroachDB | @prisma/adapter-pg |
pg |
| Prisma Postgres (Node.js) | @prisma/adapter-pg |
pg |
| Prisma Postgres (edge/serverless) | @prisma/adapter-ppg |
@prisma/ppg |
| MySQL / MariaDB | @prisma/adapter-mariadb |
mariadb |
| SQLite | @prisma/adapter-better-sqlite3 |
better-sqlite3 |
| SQLite (Turso/LibSQL) | @prisma/adapter-libsql |
@libsql/client |
| SQL Server | @prisma/adapter-mssql |
node-mssql |
MongoDB ne doit pas suivre le workflow SQL adapter Prisma 7. Utilisez la dernière version Prisma 6.x pour les projets MongoDB et n'installez pas de package @prisma/adapter-* SQL pour celui-ci.
Exemple (PostgreSQL) :
import 'dotenv/config'
import { PrismaClient } from '../generated/client'
import { PrismaPg } from '@prisma/adapter-pg'
const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL })
const prisma = new PrismaClient({ adapter })
Configuration Prisma Client (Obligatoire)
Prisma Client doit être installé et généré pour toute base de données.
-
Installer Prisma CLI et Prisma Client :
npm install prisma --save-dev npm install @prisma/client -
Ajouter un bloc generator (
prisma-clientnécessite un chemin de sortie explicite) :generator client { provider = "prisma-client" output = "../generated" } -
Générer Prisma Client :
npx prisma generate -
Pour les fournisseurs SQL, instancier Prisma Client avec le driver adapter spécifique à la base de données :
import { PrismaClient } from '../generated/client' import { PrismaPg } from '@prisma/adapter-pg' const adapter = new PrismaPg({ connectionString: process.env.DATABASE_URL }) const prisma = new PrismaClient({ adapter }) -
Relancer
prisma generateaprès chaque modification du schéma.
Référence rapide
PostgreSQL
datasource db {
provider = "postgresql"
}
generator client {
provider = "prisma-client"
output = "../generated"
}
MySQL
datasource db {
provider = "mysql"
}
generator client {
provider = "prisma-client"
output = "../generated"
}
SQLite
datasource db {
provider = "sqlite"
}
generator client {
provider = "prisma-client"
output = "../generated"
}
MongoDB
datasource db {
provider = "mongodb"
url = env("DATABASE_URL")
}
generator client {
provider = "prisma-client-js"
}
Pour MongoDB, rester sur la dernière ligne Prisma 6.x et garder l'URL de connexion dans schema.prisma. Ne pas migrer un projet MongoDB vers la configuration Prisma 7 SQL adapter.
Fichiers de règles
Consultez les fichiers de règles individuels pour des instructions de configuration détaillées :
references/postgresql.md
references/mysql.md
references/sqlite.md
references/mongodb.md
references/sqlserver.md
references/cockroachdb.md
references/prisma-postgres.md
references/prisma-client-setup.md
Comment utiliser
Choisissez le fichier de référence du fournisseur pour votre base de données, puis appliquez references/prisma-client-setup.md pour compléter la génération du client et la configuration de l'adapter. Pour MongoDB, utilisez references/mongodb.md à la place de copier les exemples SQL adapter ou le pattern de configuration Prisma 7.