Prisma pour JavaScript (Node.js) : guide complet avec exemples

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

Prisma pour JavaScript (Node.js) : guide complet avec exemples

Prisma est un ORM (Object-Relational Mapping) moderne pour Node.js et TypeScript qui révolutionne la gestion des bases de données. Contrairement aux ORM traditionnels, Prisma propose un modèle de données déclaratif, une génération automatique d'un client typé et un outil puissant pour les migrations. Si vous en avez assez d'écrire manuellement des requêtes SQL, de vous perdre dans les types de données et les configurations ORM complexes, Prisma est la solution qu'il vous faut.

Pourquoi utiliser Prisma ? D'abord, elle garantit un typage sécurisé au niveau de la base de données. Cela signifie que les erreurs liées à des types de champs incorrects ou à des relations manquantes sont détectées à la compilation, et non à l'exécution. Ensuite, Prisma offre une API intuitive pour les opérations CRUD, le filtrage, le tri et l'agrégation des données. Enfin, elle génère automatiquement la documentation de votre schéma de données et facilite la gestion des modifications via les migrations.

Prisma prend en charge les principales bases de données relationnelles : PostgreSQL, MySQL, SQLite, SQL Server, et MongoDB (en mode Document). Grâce à son architecture, elle convient aussi bien aux petits projets qu'aux applications d'entreprise. Dans cet article, nous allons détailler l'installation, les méthodes essentielles et des exemples concrets d'utilisation de Prisma dans un environnement Node.js.

Installation

L'installation de Prisma se déroule en deux étapes : l'installation du CLI (Command Line Interface) et l'initialisation du projet. Exécutez les commandes suivantes dans le terminal de votre projet :

npm install prisma --save-dev
npm install @prisma/client

Après l'installation, initialisez Prisma dans le projet :

npx prisma init

Cette commande crée un dossier prisma avec un fichier schema.prisma et un fichier .env pour les variables d'environnement. Dans le fichier .env, indiquez la chaîne de connexion à votre base de données. Par exemple, pour PostgreSQL :

DATABASE_URL="postgresql://user:password@localhost:5432/mydb"

Pour MySQL :

DATABASE_URL="mysql://user:password@localhost:3306/mydb"

Pour SQLite (base de données fichier) :

DATABASE_URL="file:./dev.db"

Démarrage rapide : un exemple minimal fonctionnel

Créons un modèle utilisateur simple et effectuons des opérations de base. Modifiez le fichier prisma/schema.prisma :

// prisma/schema.prisma
generator client {
  provider = "prisma-client-js"
}

datasource db {
  provider = "sqlite" // ou "postgresql", "mysql"
  url      = env("DATABASE_URL")
}

model User {
  id    Int     @id @default(autoincrement())
  email String  @unique
  name  String?
  posts Post[]
}

model Post {
  id        Int     @id @default(autoincrement())
  title     String
  content   String?
  published Boolean @default(false)
  author    User    @relation(fields: [authorId], references: [id])
  authorId  Int
}

Exécutez maintenant la migration pour créer les tables dans la base de données :

npx prisma migrate dev --name init

Après une migration réussie, générez le Prisma Client :

npx prisma generate

Créez ensuite un fichier index.js et écrivez un script simple :

// index.js
const { PrismaClient } = require('@prisma/client');

const prisma = new PrismaClient();

async function main() {
  // Créer un nouvel utilisateur
  const user = await prisma.user.create({
    data: {
      email: 'alice@example.com',
      name: 'Alice',
    },
  });
  console.log('Utilisateur créé :', user);

  // Créer un article pour l'utilisateur
  const post = await prisma.post.create({
    data: {
      title: '                    

Recommendations