$ sea-orm
v1.1.19š An async & dynamic ORM for Rust
Latest Update Summary
Crate
Name: sea-orm New version: 2.0.0-rc.19 Release date: 2025-11-23T18:44:38.263271Z
Crate readme
Short description SeaORM is a powerful ORM for building web services in Rust
Long description SeaORM is a fully-featured ORM designed for developers to build web services in Rust. It supports complex relationships like 1-1, 1-N, and M-N. With features including filters, pagination, and nested queries, it is well-suited for creating REST, GraphQL, and gRPC APIs. The library also emphasizes ease of use with functionalities to persist entire object graphs and an ergonomic raw SQL interface. SeaORM is production-ready, having garnered over 250k weekly downloads, making it a trusted choice among developers.
Features ⢠ActiveModel for simplified CRUD operations ⢠Smart Entity Loader to eliminate N+1 problem ⢠Entity First Workflow for schema management ⢠Supports async runtimes including Tokio ⢠Batteries included with features for REST and GraphQL APIs
Code Examples Basic usage
let user = user::ActiveModel::builder()
.set_name("Bob")
.set_email("bob@sea-ql.org")
.set_profile(profile::ActiveModel::builder().set_picture("image.jpg"))
.add_post(
post::ActiveModel::builder()
.set_title("Nice weather")
.add_tag(tag::ActiveModel::builder().set_tag("sunny")),
)
.save(db)
.await?;
Entity Loader example
let smart_user = user::Entity::load()
.filter_by_id(42) // shorthand for .filter(user::COLUMN.id.eq(42))
.with(profile::Entity) // 1-1 uses join
.with((post::Entity, tag::Entity)) // 1-N uses data loader
.one(db)
.await?
.unwrap();
Install SeaORM
[dependencies]
sea-orm = "0.2"
Links ⢠https://crates.io/crates/sea-orm ⢠https://www.sea-ql.org/SeaORM ⢠https://github.com/SeaQL/sea-orm/discussions/ ⢠https://docs.rs/sea-orm/
https://docs.rs/sea-orm https://api.github.com/repos/SeaQL/sea-orm/releases/261281657
Release info
Release version:
Release description
Code Examples
Patch update: 1.1.19 ā 1.1.19
$ DOWNLOADS TREND
$ VERSION HISTORY
$ LINKS
$ INSTALL
cargo add sea-ormOr add to Cargo.toml: sea-orm = "1.1.19"