10 Punkte von dbsrbals26 2025-12-10 | Noch keine Kommentare. | Auf WhatsApp teilen

Bei ORM-basierten CRUD-Implementierungen häuft sich ständig wiederkehrender Query-Code an.
Auch in unserem Team nahm der ähnliche Boilerplate-Code für jedes Modell immer weiter zu,
und es war schwierig, eine Bibliothek zu finden, die gleichzeitig den SQLAlchemy-v2-Stil, Typsicherheit und Pydantic-v2-Schema-Mapping erfüllt.

Deshalb habe ich diese Gelegenheit genutzt, um eine einfache Repository-Schicht als Bibliothek zu strukturieren,
um den SQLAlchemy-CRUD-Boilerplate zu reduzieren.

  • Auf Basis von Generics werden CRUD-Funktionen automatisch bereitgestellt, wenn Model und Schema angegeben werden
  • Außerdem habe ich Overloads eingerichtet, damit mypy den Ergebnistyp korrekt inferieren kann
  • Bei Bedarf lässt sich nur der Mapper austauschen, um verschiedene Schema-Strategien anzuwenden.

In unserem Team konnten wir damit den Umfang des SQLAlchemy-CRUD-Codes deutlich reduzieren.
Falls Sie ein ähnliches Problem haben, schauen Sie es sich gern an,
und wenn Sie beim Einsatz Eindrücke sammeln, nehme ich Ihr Feedback gern aktiv auf.

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

Noch keine Kommentare.

Noch keine Kommentare.