prisma-database-setup

Guides pour configurer Prisma avec différents fournisseurs de bases de données (PostgreSQL, MySQL, SQLite, MongoDB, etc.). À utiliser lors de la création d'un nouveau projet, d'un changement de base de données ou du dépannage de problèmes de connexion. Se 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 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 :

  1. Tous les fournisseurs utilisent prisma/schema.prisma.
  2. Configurations SQL Prisma 7 utilisent généralement prisma.config.ts pour les URLs de datasource.
  3. 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.

  1. Installer Prisma CLI et Prisma Client :

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

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

    npx prisma generate
  4. 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 })
  5. Relancer 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, 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.

Skills similaires