prisma-database-setup

# Guides pour configurer Prisma avec différents fournisseurs de bases de données Guides pour configurer Prisma avec différents fournisseurs de bases de données (PostgreSQL, MySQL, SQLite, MongoDB, etc.). À utiliser lors de la configuration d'un nouveau projet, du changement de bases de données ou du dépannage des problèmes de connexion. Déclenche sur « configure postgres », « connect to mysql », « setup mongodb », « sqlite setup ».

npx skills add https://github.com/prisma/skills --skill prisma-database-setup

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 :

  1. Tous les fournisseurs utilisent prisma/schema.prisma.
  2. Les configurations SQL Prisma 7 utilisent généralement prisma.config.ts pour les URL des sources de données.
  3. 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.

  1. Installez Prisma CLI et Prisma Client :

    npm install prisma --save-dev
    npm install @prisma/client
  2. Ajoutez un bloc générateur (prisma-client nécessite un chemin de sortie explicite) :

    generator client {
      provider = "prisma-client"
      output   = "../generated"
    }
  3. Générez Prisma Client :

    npx prisma generate
  4. 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 })
  5. Réexécutez prisma generate aprè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.