Prisma 2.0 est disponible en version bêta avec une nouvelle version de Prisma Client, Prisma Client 2.0,
qui permet un accès aux bases de données modernes

Prisma est une boîte à outils de base de données open source. C’est un outil qui étend l’écosystème GraphQL. D’après ses constructeurs, il est conçu pour remplacer bientôt les ORM traditionnels. Il est semblable sur beaucoup de points aux ORM traditionnels, mais présente en plus d’autres caractéristiques et fonctionnalités que ces derniers ne possèdent pas. La bêta de la version 2.0 de Prisma vient d’être publiée et apporte plusieurs nouveautés, notamment Prisma Client 2.0 qui permet un accès aux bases de données modernes, Prisma Migrate, etc.

Accès aux bases de données modernes avec Prisma Client 2.0

La nouvelle version de Prisma Client est une bibliothèque moderne d'accès aux bases de données pour Node.js et TypeScript. Elle peut être utilisée comme alternative aux ORM traditionnels et aux constructeurs de requêtes pour lire et écrire des données dans votre base de données. Pour la mettre en place, vous avez besoin d'un fichier de schéma Prisma et devez ajouter Prisma Client comme dépendance à votre projet. Prisma Client s’utilise dans n’importe quelle application dorsale TypeScript ou Node.js, notamment les applications sans serveur et les microservices).


Il peut s'agir d'une API REST, d'une API GraphQL, d'une API gRPC ou de tout autre élément nécessitant une base de données. Le but principal de Prisma Client est d'augmenter la productivité des développeurs quand ils travaillent avec des bases de données. Il y parvient en fournissant une API d'accès aux données propre qui renvoie des objets JavaScript simples. En gros, Prisma Client offre les avantages suivants :

  • autocomplétion dans les éditeurs de code, ce qui vous de consulter la documentation ;
  • Prisma vous encourage à utiliser des objets au lieu de cartographier des données relationnelles ;
  • des requêtes de base de données sécurisées pouvant être validées au moment de la compilation ;
  • une source unique de vérité pour les modèles de bases de données et d'applications ;
  • des contraintes saines qui préviennent les pièges et les antipathies courants ;
  • une abstraction qui facilite la bonne chose ;
  • utilisation de requêtes et au lieu de classes pour éviter les objets modèles complexes ;
  • moins d'éléments standard pour que les développeurs puissent se concentrer sur les parties importantes de leur application ;

Renommage de la CLI en prisma2

Pendant la période de prévisualisation, la CLI pour Prisma 2.0 a été invoquée en utilisant la commande prisma2. Prisma 2.0 étant la valeur par défaut pour les nouveaux développeurs qui commencent à travailler avec Prisma, la commande est remplacée par la commande prisma2. La commande existante pour Prisma 1 est renommée en prisme1. Par ailleurs, la version bêta de Prisma 2.0 apporte d’autres améliorations par rapport à Prisma 1, dont :

  • Prisma 2.0 ne nécessite pas l'hébergement d'un serveur proxy de base de données (c'est-à-dire le serveur Prisma) ;
  • Prisma 2.0 n'expose plus “une API GraphQL pour votre base de données”, mais permet seulement un accès programmatique via l'API de Prisma Client ;
  • Prisma 2.0 rend les fonctionnalités de Prisma 1 plus modulaires et les divise en outils dédiés. Ce sont : Prisma Client 2.0, qui est une version améliorée de Prisma Client 1.0, et Prisma Migrate, une modélisation des données et migrations (anciennement prisma deploy) ;
  • une introspection plus puissante permet de connecter Prisma 2.0 à n'importe quelle base de données existante ;
  • le modèle de données Prisma 1 et prisma.yml ont été fusionnés dans le schéma Prisma ;
  • Prisma 2.0 utilise son propre langage de modélisation au lieu d'être basé sur GraphQL SDL ;
  • vous pouvez construire des serveurs GraphQL avec Prisma en utilisant Nexus ou toute autre bibliothèque GraphQL de votre choix ;
  • etc.

Certains utilisateurs ne sont pas très satisfaits de cette version. Car, pour eux, les nouvelles fonctionnalités sont trop peu pour séduire vraiment. Prisma 2.0 serait une bibliothèque de type ORM qui ne prend en charge que quelques bases de données avec des migrations de base de données toujours à l'état expérimental avec des liens rompus. Pour les uns, TypeORM qui prend en charge 8 bases de données différentes avec un support complet et des migrations qui fonctionnent, serait mieux que Prisma.

Pour d'autres, TypeORM ne serait pas non plus meilleur que Prisma parce qu'il y aurait beaucoup de choses qui ne fonctionnent pas bien. TypeORM ne fournirait pas le "support complet des fonctionnalités" pour les 8 bases de données supportées. Même certaines choses de base manquent, comme les jointures lors de la suppression de requêtes SQL dans le générateur de requêtes. La prise en charge simple du type de données mysql «set» serait manquante. En ce qui concerne la cartographie et la modélisation des données, TypeORM fonctionnerait bien la plupart du temps.

Source : Prisma 2.0

Et vous ?

Qu'en pensez-vous ?
Entre TypeORM et Prisma, lequel préférez-vous et pourquoi ?

Voir aussi

Prisma, un outil ORM pour le développement des applications modernes. Pourra-t-il remplacer les outils ORM traditionnels ?

Relay : le framework de data-fetching de Facebook utilisé par son framework React.js

La Linux Foundation annonce OpenJS Foundation, issue de la fusion des fondations Node.js et JS pour soutenir la croissance de JavaScript