When Rust meets PostgreSQL.
See quickstart and examples.
Elephantry is an OMM (object model manager) dedicated to PostgreSQL design to handle from simple to complex queries.
```rust let databaseurl = std::env::var("DATABASEURL") .unwraporelse(|| "postgres://localhost".tostring());
// Connect let elephantry = elephantry::Pool::new(&database_url)?;
// Simple query let rows = elephantry.execute("select id from entity")?;
for row in &rows { let id: i32 = row.get("id"); println!("{id}"); }
// Define entity
struct Entity { #[elephantry(pk)] id: u16, deleted: bool, }
// Read entities
let entity = elephantry.findbypk::
// Write entities
elephantry.insertone::
all-types — enables all type features (see below);arbitrary — add support for arbitrary
crate;config — adds support for config
layered configuration system;pg14 — enables postgresql 14 features (multirange and new
TargetSessionAttrs);r2d2 — adds support for r2d2 generic
connection pool;rocket — adds support for
rocket web framewok;serde — adds support for de/serialization via serde.bit — adds support for
bit type;date — adds support for
date type;geo — adds support for
geometric
type;json — adds support for
json type;multirange — adds support for
multirange type
(postgresql >= 14);money — adds support for
money type;net — adds support for
network
type;numeric — adds support for
numeric
type;time — adds support for
time type;uuid — adds support for
uuid type;xml — adds support for
xml type.If you want to add your project here, please create a pull request.