Biblioteca FastAPI Base Repository
(github.com/4jades)Na implementação de CRUD baseada em ORM, o código de consultas repetitivas continua se acumulando.
Na nossa equipe, também estávamos vendo crescer o boilerplate com padrões parecidos para cada modelo,
e foi difícil encontrar uma biblioteca que atendesse ao mesmo tempo ao estilo do SQLAlchemy v2, à segurança de tipos e ao mapeamento de esquemas do Pydantic v2.
Então, aproveitamos esta oportunidade para organizar como biblioteca
uma camada simples de Repository para reduzir o boilerplate de CRUD com SQLAlchemy.
- Ao definir
ModeleSchemacom base em genéricos, o CRUD é fornecido automaticamente - Também configuramos overloads para que o mypy infira com precisão os tipos de resultado
- Quando necessário, é possível trocar apenas o Mapper para aplicar diferentes estratégias de esquema.
Na nossa equipe, conseguimos reduzir bastante a quantidade de código CRUD com SQLAlchemy usando isso.
Se você está passando por um problema parecido, vale dar uma olhada,
e se puder compartilhar o que achou ao usar, vamos considerar isso ativamente.
Ainda não há comentários.