Skip to main content

🐚 SeaORM is a relational ORM to help you build web services in Rust


Async

Relying on SQLx, SeaORM is a new library with async support from day 1.

Dynamic

Built upon SeaQuery, SeaORM allows you to build complex dynamic queries.

Service Oriented

Quickly build services that join, filter, sort and paginate data in REST, GraphQL and gRPC APIs.

Production Ready

SeaORM is feature-rich, well-tested and used in production by companies and startups.

A quick taste of SeaORM

use sea_orm::entity::prelude::*;
#[derive(Clone, Debug, PartialEq, DeriveEntityModel)]
#[sea_orm(table_name = "cake")]
pub struct Model {
#[sea_orm(primary_key)]
pub id: i32,
pub name: String,
}
#[derive(Copy, Clone, Debug, EnumIter, DeriveRelation)]
pub enum Relation {
#[sea_orm(has_many = "super::fruit::Entity")]
Fruit,
}
impl Related<super::fruit::Entity> for Entity {
fn to() -> RelationDef {
Relation::Fruit.def()
}
}

SeaORM ➕ GraphQL = 🧭 Seaography

With Seaography, you can quickly launch a GraphQL server from SeaORM entities!

SeaORM ➕ React = 🖥️ SeaORM Pro

With SeaORM Pro, you can easily launch an admin panel for your application, frontend development skills not required!

Gold Sponsors


Silver Sponsors

Express your passion for Rust

The Rustacean Sticker Pack 🦀 are made with a premium water-resistant vinyl with a unique matte finish.
All proceeds contributes directly to open-source development.

Meet Terres, our official mascot

A friend of Ferris, Terres the hermit crab is a member of the Rustacean family.