FastAPI Base Repository kütüphanesi
(github.com/4jades)ORM tabanlı CRUD uygulamalarında tekrar eden sorgu kodları durmadan birikir.
Bizim ekipte de her model için benzer desenlerdeki boilerplate kodlar giderek artıyordu ve
SQLAlchemy v2 stili, tip güvenliği ve Pydantic v2 şema eşlemesini aynı anda karşılayan bir kütüphane bulmak zordu.
Bu nedenle bu fırsatı değerlendirip SQLAlchemy CRUD boilerplate'ini azaltmak için
basit bir Repository katmanını kütüphane olarak düzenledim.
- Generic tabanlı olarak Model ve Schema belirtildiğinde CRUD otomatik sağlanıyor
- mypy'nin sonuç tipini doğru şekilde çıkarsaması için overload'lar da eklendi
- Gerekli olduğunda yalnızca Mapper değiştirilerek çeşitli şema stratejileri uygulanabiliyor.
Ekibimiz bunun sayesinde SQLAlchemy CRUD kod miktarını epey azaltabildi.
Benzer bir sorun yaşıyorsanız göz atabilirsiniz;
kullanırken hissettiklerinizi paylaşırsanız memnuniyetle değerlendireceğim.
Henüz yorum yok.