rango-orm

A Django-inspired async ORM for Rust.

  • Rust
  • database
0.1 on crates.io View on GitHub
#[derive(Model)]
struct Post {
    id: FieldUuid,
    author_id: ForeignKey<User>,
    title: FieldVarchar<1, 255>,
    published: FieldBool,
}

Rango is a Django-inspired async ORM for Rust. Define a struct, and Rango generates the schema, the migrations, and a typed query API. The struct is the schema.

It is 100% async on sqlx and supports PostgreSQL, SQLite, and MySQL/MariaDB with the same API. It is secure by default and pre-1.0.

Highlights

  • rango makemigrations generates migrations
  • Typed queries: a wrong column or value type is a compile error
  • ON DELETE CASCADE in the DB, every FK indexed, RETURNING where available
  • Bound parameters, quoted identifiers, Argon2id password hashing
  • TLS required for remote Postgres
  • Pre-1.0