# System map — SeaQL/sea-orm

> Canonical page: https://codevetter.com/unpack/sea-orm/system-map

# System map — SeaQL/sea-orm

Scanned commit db40a19a7bde7be8e1c4b346b1b70d72e87f0245 (2026-09-27). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

The repository centers on a reusable Rust library, with companion tooling and independently runnable examples. Compile-time entity generation, runtime query execution, and migration execution occupy distinct boundaries. Cargo features select drivers and optional capabilities, while separate workspaces require package-specific validation.
- The root package is sea-orm 2.0.4, exposes the sea_orm library through src/lib.rs, and declares edition 2024 and Rust 1.94.0; its workspace contains the root, macros, codegen, and Arrow packages. — [Cargo.toml#L1-L16](https://github.com/SeaQL/sea-orm/blob/db40a19a7bde7be8e1c4b346b1b70d72e87f0245/Cargo.toml#L1-L16) [Cargo.toml#L36-L38](https://github.com/SeaQL/sea-orm/blob/db40a19a7bde7be8e1c4b346b1b70d72e87f0245/Cargo.toml#L36-L38)
- src/lib.rs exports entity, query, schema, dynamic, and value APIs, re-exports database and executor APIs, and gates the rbac module behind its feature. — [src/lib.rs#L689-L719](https://github.com/SeaQL/sea-orm/blob/db40a19a7bde7be8e1c4b346b1b70d72e87f0245/src/lib.rs#L689-L719)
- DatabaseConnection wraps DatabaseConnectionType, whose feature-gated variants hold SQLx pools, a rusqlite shared connection, mock or proxy connections, or a disconnected sentinel. — [src/database/db_connection.rs#L23-L93](https://github.com/SeaQL/sea-orm/blob/db40a19a7bde7be8e1c4b346b1b70d72e87f0245/src/database/db_connection.rs#L23-L93)
- The async storage integration uses SeaQuery for dialect-specific statements and optional SQLx 0.9 dependencies; default features enable derives and common value types but do not select a SQLx driver or runtime. — [Cargo.toml#L69-L85](https://github.com/SeaQL/sea-orm/blob/db40a19a7bde7be8e1c4b346b1b70d72e87f0245/Cargo.toml#L69-L85) [Cargo.toml#L117-L180](https://github.com/SeaQL/sea-orm/blob/db40a19a7bde7be8e1c4b346b1b70d72e87f0245/Cargo.toml#L117-L180) [src/database/connection.rs#L25-L52](https://github.com/SeaQL/sea-orm/blob/db40a19a7bde7be8e1c4b346b1b70d72e87f0245/src/database/connection.rs#L25-L52)
- sea-orm-macros supplies entity, model, relation, value, and query-result derives; sea-orm-codegen converts discovered table statements into entities and generated Rust files. — [src/lib.rs#L721-L728](https://github.com/SeaQL/sea-orm/blob/db40a19a7bde7be8e1c4b346b1b70d72e87f0245/src/lib.rs#L721-L728) [sea-orm-codegen/src/entity/transformer.rs#L11-L38](https://github.com/SeaQL/sea-orm/blob/db40a19a7bde7be8e1c4b346b1b70d72e87f0245/sea-orm-codegen/src/entity/transformer.rs#L11-L38) [sea-orm-codegen/src/entity/writer.rs#L279-L306](https://github.com/SeaQL/sea-orm/blob/db40a19a7bde7be8e1c4b346b1b70d72e87f0245/sea-orm-codegen/src/entity/writer.rs#L279-L306)
- The CLI is a separate workspace with sea and sea-orm-cli binaries sharing src/bin/main.rs; migration binaries call sea_orm_migration::cli::run_cli with an application-defined migrator. — [sea-orm-cli/Cargo.toml#L1-L42](https://github.com/SeaQL/sea-orm/blob/db40a19a7bde7be8e1c4b346b1b70d72e87f0245/sea-orm-cli/Cargo.toml#L1-L42) [sea-orm-cli/src/bin/main.rs#L1-L19](https://github.com/SeaQL/sea-orm/blob/db40a19a7bde7be8e1c4b346b1b70d72e87f0245/sea-orm-cli/src/bin/main.rs#L1-L19) [sea-orm-cli/template/migration/src/main.rs#L1-L6](https://github.com/SeaQL/sea-orm/blob/db40a19a7bde7be8e1c4b346b1b70d72e87f0245/sea-orm-cli/template/migration/src/main.rs#L1-L6)
- sea-orm-sync is a separate package and workspace exposing the same sea_orm library name, depending on sea-query-rusqlite; make-sync.sh derives its source and tests from the async tree by removing async constructs. — [sea-orm-sync/Cargo.toml#L1-L36](https://github.com/SeaQL/sea-orm/blob/db40a19a7bde7be8e1c4b346b1b70d72e87f0245/sea-orm-sync/Cargo.toml#L1-L36) [sea-orm-sync/Cargo.toml#L57-L75](https://github.com/SeaQL/sea-orm/blob/db40a19a7bde7be8e1c4b346b1b70d72e87f0245/sea-orm-sync/Cargo.toml#L57-L75) [build-tools/make-sync.sh#L23-L50](https://github.com/SeaQL/sea-orm/blob/db40a19a7bde7be8e1c4b346b1b70d72e87f0245/build-tools/make-sync.sh#L23-L50)
- Distribution includes Rust library packages and tagged CLI binaries for Linux x86_64/aarch64, macOS aarch64, and Windows x86_64; CI defines workspace tests plus separate CLI and migration checks. — [Cargo.toml#L4-L16](https://github.com/SeaQL/sea-orm/blob/db40a19a7bde7be8e1c4b346b1b70d72e87f0245/Cargo.toml#L4-L16) [.github/workflows/sea-orm-cli-release.yml#L40-L97](https://github.com/SeaQL/sea-orm/blob/db40a19a7bde7be8e1c4b346b1b70d72e87f0245/.github/workflows/sea-orm-cli-release.yml#L40-L97) [.github/workflows/rust.yml#L117-L120](https://github.com/SeaQL/sea-orm/blob/db40a19a7bde7be8e1c4b346b1b70d72e87f0245/.github/workflows/rust.yml#L117-L120) [.github/workflows/rust.yml#L173-L207](https://github.com/SeaQL/sea-orm/blob/db40a19a7bde7be8e1c4b346b1b70d72e87f0245/.github/workflows/rust.yml#L173-L207)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
