About this project
SeaORM is a feature-rich object-relational mapper (ORM) designed for Rust. It provides a high-level conceptual way to model complex relationships, including 1-1, 1-N, M-N, and self-referential relations.
Key capabilities include:
- Smart Entity Loader: Intelligently uses joins for 1-1 and data loaders for 1-N relations to eliminate the N+1 query problem.
- ActiveModel: Supports nested persistence, allowing the saving of entire object graphs in a single operation.
- Flexible Workflow: Supports both schema-first (via a migration system) and entity-first workflows, where the database schema is automatically synchronized based on entity definitions.
- Raw SQL Support: Includes a `raw_sql!` macro for complex queries that provides parameter interpolation and array expansion while preventing SQL injection.
- Synchronous Support: Through `sea-orm-sync`, the API can be used without an async runtime, which is useful for lightweight CLI tools.
- Integration: Provides examples for various Rust web frameworks including Actix, Axum, Poem, Rocket, and Salvo.
Additionally, the ecosystem includes Seaography for quickly launching GraphQL APIs and SeaORM Pro for professional admin panels.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.