OOD Persistence
Asynchronous and synchronous interfaces and persistence implementations for your OOD architecture
Installation
Add ood_persistence = { version = "0", features = ["<IMPLEMENTATION_NAME>"] }
as a dependency in Cargo.toml
.
NOTE: change <IMPLEMENTATION_NAME>
to feature name from available list. See Cargo.toml
for more information.
Cargo.toml
example:
[package]
name = "my-crate"
version = "0.1.0"
authors = ["Me <[email protected]>"]
[dependencies]
ood_persistence = { version = "0", features = ["bb8_postgres"] }
In stable rust channel you can use only connection interface, but if you use nightly channel, add an additional "nightly" feature to your Cargo.toml
and you can use transactions as well.
Usage
fn main() -> Result<(), Box<dyn std::error::Error>> {
// create pool to our database
let pool = create_postgres_pool();
// initialize persistence
let persistence = ood_persistence::r2d2_postgres::new(&pool);
// get connection to database
let mut conn = persistence.get_connection()?;
// we can query something
let res: i32 = conn.inner().query_one("select 1", &[])?.get(0);
assert_eq!(res, 1);
Ok(())
}
See examples directory for more information.
Contributors
pleshevskiy (Dmitriy Pleshevskiy) – creator, maintainer.