ページ内ナビ
概要
SeaORMはRustでWeb serviceを構築するためのrelational ORMです。非同期query、Entityとrelation、ActiveModelによる更新、migration、raw SQLを提供し、MySQL・MariaDB・PostgreSQL・SQLiteを扱えます。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
Entityとrelationで1対1・1対多・多対多を表現する
SeaORMはEntityを中心にrelationを定義し、1対1・1対多・多対多・self-referenceを高水準に扱えます。2.0のdense entity formatではrelation定義をmodelへまとめ、既存databaseからCLIでEntityを生成することもできます。
出典:[2]
Smart Entity Loaderとnested persistenceで関連dataをまとめて扱う
Smart Entity Loaderはrelationに応じてjoinとdata loaderを使い分け、nested queryでN+1を避ける設計です。ActiveModel builderでは親子のobject graphをまとめて保存し、dependency順をORM側で解決できます。
出典:[2]
向いている用途
REST・GraphQL・gRPC backendでdatabase層を統一したい場合に向く
filter、pagination、nested query、migration、raw SQLまで一つのORMで扱いたいRust backendに適します。repositoryにはAxum、Actix、GraphQL、Tonicなど複数frameworkとのintegration exampleがあります。
出典:[2]
導入前の確認
2.0系のrelation・schema sync修正をpatch update時に確認する
2.0.4ではlinked joinのalias・condition処理やMySQL schema syncなどが修正されています。複雑なrelationやEntity Firstのschema syncを利用する場合は、generated SQLとmigration結果を回帰testしてください。
出典:[3]
参考にした公式資料
- [1]SeaQL/sea-orm — GitHub repository(2026-10-06)
- [2]SeaORM 2.0.4 — README(2026-10-06)
- [3]SeaORM 2.0.4 release(2026-10-06)
編集部からの補足
SQLxを土台にしつつ、Entity・relation・migrationまで高水準にまとめたいRust backend向けです。2.0系ではEntity Firstやnested persistenceが増えているため、1.xから移行する場合は生成Entityとrelation定義を重点的に確認してください。
3ステップで試す
- 1
確認済みのSeaORMを取得する
確認対象のSeaORM 2.0.4を固定して取得します。quickstartはRust 1.85以上を要求します。
git clone --depth 1 --branch 2.0.4 https://github.com/SeaQL/sea-orm.git - 2
Quick Startへ移動する
公式の単一file quickstartへ移動します。SQLite in-memory databaseを使うため、database serverの準備は不要です。
cd sea-orm/examples/quickstart - 3
公式Quick Startを実行する
Entity、relation、schema sync、CRUD、nested persistenceを含む公式exampleを実行します。
cargo run
成長
成長の推移 · 直近30日
9,914 Stars
推移データを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
GitHubのデータGitHubの詳細データを見る
GitHub Topics
- database
- hacktoberfest
- loco
- mariadb
- mysql
- orm
- postgres
- rust
- sql
- sqlite
- sqlx
- tokio
- Stars
- 9,914
- Forks
- 738
- Watchers
- 43
- Open Issues
- 231
- Contributors
- 288
- 所有者種別
- Organization
- 主要言語
- Rust
- ライセンス
- Apache-2.0
- リポジトリ最終更新
- 2026/10/05
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- goose11,544 Stars
共通タグ 4件 · 共通カテゴリ 1件
SQL migrationとGo functionをCLI/libraryから実行するdatabase migration tool
Go - Turso Database24,632 Stars
共通タグ 3件 · 共通カテゴリ 2件 · 同じ言語
SQLite互換のSQLをRust製エンジンで実行し、複数言語から組み込めるデータベース
Rust - redis-rs4,258 Stars
共通タグ 3件 · 共通カテゴリ 2件 · 同じ言語
Redis・Valkeyへsync/asyncで接続するRust client library
Rust - sqlc18,348 Stars
共通タグ 3件 · 共通カテゴリ 2件
SQLをsource of truthにして型安全なdata-access codeを生成するSQL compiler
Go - sqlx17,743 Stars
共通タグ 3件 · 共通カテゴリ 2件
database/sql互換を保ったままStructScan・Named Queryを追加するGo DB拡張
Go - Entity Framework Core14,797 Stars
共通タグ 3件 · 共通カテゴリ 2件
LINQ query・change tracking・update・schema migrationをprovider API経由で扱う.NET object-database mapper
C#
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。