Skip to content

Files

Latest commit

27da5c0 · Nov 5, 2021

History

History

roa-diesel

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Nov 5, 2021
Oct 29, 2021
Mar 29, 2021

Stable Test codecov Rust Docs Crate version Download License: MIT

This crate provides diesel integration with roa framework.

AsyncPool

A context extension to access r2d2 pool asynchronously.

use roa::{Context, Result};
use diesel::sqlite::SqliteConnection;
use roa_diesel::Pool;
use roa_diesel::preload::*;
use diesel::r2d2::ConnectionManager;

#[derive(Clone)]
struct State(Pool<SqliteConnection>);

impl AsRef<Pool<SqliteConnection>> for State {
    fn as_ref(&self) -> &Pool<SqliteConnection> {
        &self.0
    }
}

async fn get(ctx: Context<State>) -> Result {
    let conn = ctx.get_conn().await?;
    // handle conn
    Ok(())
}

SqlQuery

A context extension to execute diesel query asynchronously.

Refer to integration example for more use cases.