#orm #sqlite #mysql #postgresql

rbdc-sqlite

The Rust SQL Toolkit and ORM Library. An async, pure Rust SQL crate featuring compile-time Dynamic SQL

26 stable releases

4.9.5 May 3, 2026
4.7.2 Jan 23, 2026
4.6.5 Dec 27, 2025
4.6.2 Nov 2, 2025
0.1.14 Sep 19, 2022

#2676 in Database interfaces

Download history 123/week @ 2026-02-20 110/week @ 2026-02-27 143/week @ 2026-03-06 197/week @ 2026-03-13 288/week @ 2026-03-20 77/week @ 2026-03-27 14/week @ 2026-04-03 196/week @ 2026-04-10 146/week @ 2026-04-17 132/week @ 2026-04-24 217/week @ 2026-05-01 62/week @ 2026-05-08 62/week @ 2026-05-15 77/week @ 2026-05-22 2425/week @ 2026-05-29 5321/week @ 2026-06-05

7,889 downloads per month
Used in 11 crates (7 directly)

Apache-2.0

245KB
6K SLoC

rbdc-sqlite

SQLite database driver for the rbdc database abstraction layer.

Basic Driver Usage

Full example: example/src/sqlite.rs

use rbdc::Error;
use rbdc::db::Connection;
use rbdc::pool::Pool;
use rbdc_pool_fast::FastPool;
use rbdc_sqlite::SqliteDriver;

#[tokio::main]
async fn main() -> Result<(), Error> {
    let pool = FastPool::new_url(SqliteDriver {}, "sqlite://target/sqlite.db")?;
    let mut conn = pool.get().await?;
    let v = conn
        .exec_decode("select * from sqlite_master", vec![])
        .await?;
    println!("{}", v);
    // if need decode use `let result:Vec<Table> = rbs::from_value(v)?;`
    Ok(())
}

Usage with rbatis ORM

use rbatis::RBatis;
use rbatis::Error;

#[tokio::main]
pub async fn main() -> Result<(), Error> {
    let rb = RBatis::new();
    rb.init(rbdc_sqlite::SqliteDriver {}, "sqlite://target/sqlite.db")?;
    Ok(())
}

Supported Connection String Formats

1. In-memory database

sqlite://:memory:

2. File-based database

sqlite://path/to/database.db

License

This project is licensed under the same license as rbdc.

Dependencies

~26–44MB
~716K SLoC