Je vous propose dans cet article d’étudier la création d’une couche ORM, dans un contexte Node.js couplé à une base SQL. La base que je vais utiliser est MariaDB, mais n’importe quelle base SQL pourrait faire l’affaire. Mon stack Node.js est en version 9.4.0, ce qui va me permettre d’utiliser de nombreux aspects de la norme ES6, mais tout ce que je vais expliquer devrait fonctionner sur la version 8.x.
Jetons un coup d’œil à la définition proposée par Wikipédia pour ORM [1]:
« Un mapping objet-relationnel (en anglais object-relational mapping ou ORM) est une technique de programmation informatique qui crée l'illusion d'une base de données orientée objet à partir d'une base de données relationnelle en définissant des correspondances entre cette base de données et les objets du langage utilisé. On pourrait le désigner par « correspondance entre monde objet et monde relationnel ».
Cette définition pose plutôt bien le problème, nous allons donc étudier une manière d’implémenter cela dans Node.js.
Pourquoi développer sa propre couche ORM, me direz-vous ? C’est vrai qu’il existe différents composants traitant ce sujet, le plus connu étant certainement Sequelize. Ces solutions sont très intéressantes, mais peut-être surdimensionnées par rapport à votre besoin.
On pourrait trouver tout un tas d’autres raisons, mais la plus importante...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première