107 releases (22 stable)

Uses new Rust 2024

new 2.0.0-rc.21 Dec 14, 2025
2.0.0-rc.19 Nov 23, 2025
2.0.0-rc.1 Jul 5, 2025
1.2.0-rc.1 May 29, 2025
0.4.0 Nov 19, 2021

#2327 in Database interfaces

Download history 81452/week @ 2025-09-14 75021/week @ 2025-09-21 78647/week @ 2025-09-28 83429/week @ 2025-10-05 85290/week @ 2025-10-12 80216/week @ 2025-10-19 76798/week @ 2025-10-26 88051/week @ 2025-11-02 77413/week @ 2025-11-09 117601/week @ 2025-11-16 71123/week @ 2025-11-23 91228/week @ 2025-11-30 82386/week @ 2025-12-07

367,983 downloads per month
Used in 71 crates (2 directly)

MIT/Apache

125KB
3K SLoC

SeaORM CLI

Install and Usage:

> cargo install sea-orm-cli 
> sea-orm-cli help

Or:

> cargo install --bin sea
> sea help

Getting Help:

cargo run -- -h

Running Entity Generator:

# MySQL (`--database-schema` option is ignored)
cargo run -- generate entity -u mysql://sea:sea@localhost/bakery -o out

# SQLite (`--database-schema` option is ignored)
cargo run -- generate entity -u sqlite://bakery.db -o out

# PostgreSQL
cargo run -- generate entity -u postgres://sea:sea@localhost/bakery -s public -o out

Running Migration:

  • Initialize migration directory
    cargo run -- migrate init
    
  • Generate a new migration file
    cargo run -- migrate generate MIGRATION_NAME
    
  • Apply all pending migrations
    cargo run -- migrate
    
    cargo run -- migrate up
    
  • Apply first 10 pending migrations
    cargo run -- migrate up -n 10
    
  • Rollback last applied migrations
    cargo run -- migrate down
    
  • Rollback last 10 applied migrations
    cargo run -- migrate down -n 10
    
  • Drop all tables from the database, then reapply all migrations
    cargo run -- migrate fresh
    
  • Rollback all applied migrations, then reapply all migrations
    cargo run -- migrate refresh
    
  • Rollback all applied migrations
    cargo run -- migrate reset
    
  • Check the status of all migrations
    cargo run -- migrate status
    

Dependencies

~7–31MB
~405K SLoC