10 points par dbsrbals26 2025-12-10 | Aucun commentaire pour le moment. | Partager sur WhatsApp

Dans les implémentations CRUD basées sur un ORM, le code de requête répétitif ne cesse de s’accumuler.
Dans notre équipe aussi, des boilerplates aux motifs similaires se multipliaient pour chaque modèle,
et il était difficile de trouver une bibliothèque qui réponde à la fois au style SQLAlchemy v2, à la sûreté de typage et au mapping de schémas Pydantic v2.

Nous avons donc profité de l’occasion pour structurer sous forme de bibliothèque
une couche Repository simple visant à réduire le boilerplate CRUD avec SQLAlchemy.

  • en définissant un Model et un Schema sur une base générique, le CRUD est fourni automatiquement ;
  • des surcharges ont aussi été mises en place pour que mypy infère précisément les types de retour ;
  • et, si nécessaire, il est possible de ne remplacer que le Mapper pour appliquer différentes stratégies de schémas.

Dans notre équipe, cela nous a permis de réduire assez nettement le volume de code CRUD SQLAlchemy.
Si vous rencontrez un problème similaire, n’hésitez pas à y jeter un œil ;
et si vous avez des retours après utilisation, nous les prendrons volontiers en compte.

Lien : https://github.com/4jades/base-repository

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.