Skip to main content

Crate sqlw_backend

Crate sqlw_backend 

Source
Expand description

Database executor implementations for sqlw.

Provides async database connections with a unified interface.

§Features

  • sqlite - Rusqlite support via tokio-rusqlite
  • turso - Turso/libSQL support (default)
  • postgres - PostgreSQL support via bb8 connection pool with tokio-postgres
  • mysql - MySQL support via mysql_async

§Module Layout

Each backend module is self-contained:

  • postgres contains both PostgresExecutor and PostgresRowRef
  • mysql contains both MySqlExecutor and MySqlRowRef
  • sqlite contains both SqliteExecutor and SqliteRowRef
  • turso contains both TursoExecutor and TursoRowRef

§Example

use sqlw::{QueryExecutor, query_qmark as query};
use sqlw_backend::turso::TursoExecutor;

let executor = TursoExecutor::new(|| async {
    turso::Builder::new_local("file.db").build().await?
        .connect()
}).await?;

let users: Vec<User> = executor.query_list(query).await?;

Modules§

error
Database operation error types.
turso
Turso/libSQL executor and row types.