ORM type-safe avec modèle de données déclaratif (Prisma)
Problème
Les requêtes SQL manuelles sont fragiles, difficiles à maintenir et non typées. Les migrations sont souvent gérées à l'extérieur du code.
Solution
Décrire le schéma de données dans un langage déclaratif, générer un client type-safe automatiquement, et gérer les migrations avec la même source de vérité.
Pourquoi c'est utile
- Type-safe : le client Prisma génère des types TypeScript à partir du schéma.
- Migrations versionnées :
prisma migratesynchronise le schéma et la base. - Productivité : requêtes lisibles et optimisées sans écrire de SQL.
- Multi-base : supporte PostgreSQL, MySQL, SQLite, MongoDB, etc.
Quand l'appliquer
- API backend en TypeScript/JavaScript avec base de données relationnelle.
- Équipe voulant un schéma unique et versionné.
- Besoin de réduire les erreurs de type et les requêtes SQL brutes.
Quand NE PAS l'appliquer
- Requêtes très complexes où le SQL brut reste nécessaire.
- Base de données existante avec un schéma difficile à modéliser.
- Préférence pour un ORM plus léger ou une approche query builder.