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.