8 个版本

0.6.0 2022年1月17日
0.5.0 2020年4月2日
0.5.0-rc.22020年3月31日

#2043数据库接口

每月 31 次下载

MIT 许可证

180KB
3.5K SLoC

Stable Test codecov Rust Docs Crate version Download License: MIT

此 crate 提供了与 roa 框架的 diesel 集成。

AsyncPool

一个异步访问 r2d2 pool 的上下文扩展。

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

一个异步执行 diesel 查询的上下文扩展。

有关更多用例,请参阅 集成示例

依赖关系

~13–22MB
~323K SLoC