8 个版本
0.6.0 | 2022年1月17日 |
---|---|
0.5.0 | 2020年4月2日 |
0.5.0-rc.2 | 2020年3月31日 |
#2043 在 数据库接口
每月 31 次下载
180KB
3.5K SLoC
此 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