Sobre o projeto
SeaORM é um mapeador objeto-relacional (ORM) rico em recursos projetado para Rust. Ele fornece uma maneira conceitual de alto nível para modelar relacionamentos complexos, incluindo relações 1-1, 1-N, M-N e autorreferenciais.
As principais capacidades incluem:
- Smart Entity Loader: Utiliza inteligentemente joins para relações 1-1 e data loaders para relações 1-N para eliminar o problema de consulta N+1.
- ActiveModel: Suporta persistência aninhada, permitindo salvar grafos de objetos inteiros em uma única operação.
- Fluxo de Trabalho Flexível: Suporta fluxos de trabalho tanto schema-first (via um sistema de migração) quanto entity-first, onde o esquema do banco de dados é sincronizado automaticamente com base nas definições de entidade.
- Suporte a Raw SQL: Inclui uma macro `raw_sql!` para consultas complexas que fornece interpolação de parâmetros e expansão de arrays, prevenindo a injeção de SQL.
- Suporte Síncrono: Através do `sea-orm-sync`, a API pode ser usada sem um runtime async, o que é útil para ferramentas CLI leves.
- Integração: Fornece exemplos para vários frameworks web de Rust, incluindo Actix, Axum, Poem, Rocket e Salvo.
Além disso, o ecossistema inclui Seaography para lançar rapidamente APIs GraphQL e SeaORM Pro para painéis administrativos profissionais.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.