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.