seaql/sea-orm

🐚 A powerful relational ORM for Rust

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 45 minutes ago
Added to GitGenius on September 6th, 2026
Created on February 9th, 2021
Open Issues & Pull Requests: 233 (+0)
GitHub issues: Enabled
Number of forks: 729
Total Stargazers: 9,883 (+0)
Total Subscribers: 43 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 24.9 hours
Mean response time: 43.2 days
90th percentile: 146.6 days
Tracked items: 327

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 90% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. 64% of tracked open issues have had no activity in three months, so the open count overstates what is actively being worked. Only 8% of issues opened in the past year have been closed. Three people close 79% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 148
New in 7 days: 1
Closed in 7 days: 2
Avg open age: 508 days
Stale 30+ days: 130
Stale 90+ days: 112

Recent activity

Opened in 7 days: 0
Closed in 7 days: 2
Comments in 7 days: 1
Events in 7 days: 5

Top labels

  • Category:enhancement (31)
  • help-wanted (22)
  • good first issue (18)
  • Area:schema (17)
  • Area:code-gen (15)
  • Postgres (11)
  • 2.0 (10)
  • Area:migration (10)

Detailed Description

SeaORM is a relational ORM for Rust that enables developers to build web services with type-safe database access.

SeaORM addresses the need for ergonomic database interaction in Rust by providing an ORM inspired by popular frameworks in Ruby, Python, and Node.js ecosystems. It handles complex relationships including one-to-one, one-to-many, many-to-many, and self-referential patterns through high-level abstractions. The tool includes an entity loader that intelligently uses joins for one-to-one relations and data loaders for one-to-many relations, eliminating the N+1 query problem even in nested queries. ActiveModel enables persisting entire object graphs in a single operation through a fluent builder API, with automatic dependency resolution for correct insertion and deletion order. The project supports both schema-first and entity-first workflows, offering a migration system for schema management and automatic detection of entity changes to generate tables, columns, and foreign keys.

SeaORM suits teams building REST, GraphQL, and gRPC APIs in Rust who want a batteries-included ORM with built-in filtering, pagination, and nested query support. It works with PostgreSQL, MySQL, MariaDB, and SQLite. The tool provides integration examples across multiple web frameworks including Actix, Axum, Rocket, Poem, and Salvo, making it adaptable to different architectural choices. Developers familiar with ORMs from other language ecosystems will recognize the conceptual patterns and API design.

The project maintains active development with regular updates and examples demonstrating integration across diverse frameworks and use cases. The codebase includes comprehensive documentation and a quickstart example for new users. The tool has established production usage across startups and enterprises, indicating maturity and reliability in real-world applications.