Configuration de Base de Données Prisma
Guides complets pour configurer Prisma ORM avec diverses fournisseurs de base de données.
Quand l'appliquer
Référencez cette compétence lorsque :
- Initialiser un nouveau projet Prisma
- Changer de fournisseur de base de données
- Configurer les chaînes de connexion et les variables d'environnement
- Dépanner les problèmes de connexion à la base de données
- Configurer les 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 des fournisseurs | CRITIQUE | noms des fournisseurs |
| 2 | Prisma Postgres | ÉLEVÉE | prisma-postgres |
| 3 | Configuration du client | CRITIQUE | prisma-client-setup |
Prérequis système
- Node.js 20.19.0+
- TypeScript 5.4.0+
Runtime Bun
Si vous utilisez Bun, exécutez 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 de fournisseur | Remarques |
|---|---|---|
| PostgreSQL | postgresql |
Par défaut, support complet des fonctionnalités |
| MySQL | mysql |
Support généralisé, quelques différences JSON |
| SQLite | sqlite |
Fichier local, pas d'énumérations/listes scalaires |
| MongoDB | mongodb |
Flux de travail spécifique à Mongo ; ne pas appliquer les conseils du pilote SQL |
| SQL Server | sqlserver |
Écosystème Microsoft |
| CockroachDB | cockroachdb |
SQL distribué, compatible Postgres |
| Prisma Postgres | postgresql |
Base de données managée sans serveur |
Fichiers de configuration
La forme de votre configuration dépend du fournisseur et de la version majeure de Prisma :
- Tous les fournisseurs utilisent
prisma/schema.prisma. - Les configurations SQL Prisma 7 utilisent généralement
prisma.config.tspour les URL des sources de données. - Les projets MongoDB doivent rester sur Prisma 6.x, conserver
url = env("DATABASE_URL")dans le schéma, et continuer à utiliser la configuration MongoDB classique.
Adaptateurs de pilote
Le flux de travail SQL standard utilise un adaptateur de pilote. Choisissez l'adaptateur et le pilote pour votre base de données et passez l'adaptateur à PrismaClient.
| Base de données | Adaptateur | Pilote 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 flux de travail de l'adaptateur SQL Prisma 7. Utilisez la dernière version Prisma 6.x pour les projets MongoDB et n'installez pas de paquet @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 de Prisma Client (Obligatoire)
Prisma Client doit être installé et généré pour toute base de données.
-
Installez Prisma CLI et Prisma Client :
npm install prisma --save-dev npm install @prisma/client -
Ajoutez un bloc générateur (
prisma-clientnécessite un chemin de sortie explicite) :generator client { provider = "prisma-client" output = "../generated" } -
Générez Prisma Client :
npx prisma generate -
Pour les fournisseurs SQL, instanciez Prisma Client avec l'adaptateur de pilote 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 }) -
Réexécutez
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, restez sur la dernière branche Prisma 6.x et gardez l'URL de connexion dans schema.prisma. Ne migrez pas un projet MongoDB vers la configuration de l'adaptateur SQL Prisma 7.
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 l'utiliser
Choisissez le fichier de référence du fournisseur pour votre base de données, puis appliquez references/prisma-client-setup.md pour terminer la génération du client et la configuration de l'adaptateur. Pour MongoDB, utilisez references/mongodb.md au lieu de copier les exemples de l'adaptateur SQL ou le modèle de configuration Prisma 7.