6 releases (3 stable)
3.0.0 | Sep 1, 2023 |
---|---|
2.0.0 | Aug 29, 2022 |
2.0.0-rc.1 | Jul 23, 2022 |
2.0.0-rc.0 | May 12, 2022 |
0.1.0 | Nov 19, 2021 |
#1726 in Database interfaces
7KB
102 lines
helge
Helge is a tiny wrapper around r2d2::Pool and diesel ConnectionManager to provide a simple way to use diesel postgres with r2d2 in an async context.
Example
let helge = Helge::<diesel::PgConnection>::new("postgres://localhost/somedatabase")?;
helge.query(|conn| {
diesel::insert_into(users::table)
.values(&NewUser {
name: String::from("Helge"),
})
.execute(conn)
}).await?;
License: MIT
lib.rs
:
Helge is a tiny wrapper around r2d2::Pool and diesel ConnectionManager to provide a simple way to use diesel postgres with r2d2 in an async context.
Example
use diesel::prelude::*;
use helge::{Error, Helge};
diesel::table! {
users {
id -> Integer,
name -> Varchar,
}
}
#[derive(Debug, Insertable)]
#[diesel(table_name = users)]
struct NewUser {
name: String,
}
async fn query() -> Result<(), helge::Error> {
let helge = Helge::<diesel::PgConnection>::new("postgres://localhost/somedatabase")
.expect("connecting Helge");
helge.query(|conn| {
diesel::insert_into(users::table)
.values(&NewUser {
name: String::from("Helge"),
})
.execute(conn)
}).await;
Ok(())
}
Dependencies
~5–11MB
~129K SLoC