ezpg/README.md

33 lines
1.1 KiB
Markdown
Raw Normal View History

2024-12-28 11:05:52 +00:00
# ezpg
this is predominantly a stripped-down and opinionated version of [miniorm](https://crates.io/miniorm) by [meuter](https://github.com/meuter/miniorm-rs).
while some verbiage is changed to reflect the fact this is postgres-only and has some flexibility removed, the actual value comes from miniorm with a splash of [some changes i've proposed](https://github.com/Arcayr/miniorm-rs/tree/uuid-handler-trait).
do not use this unless you specifically want postgres-only, uuid-only entity records.
## usage
```rust
use sqlx::FromRow;
use ezpg::Record;
#[derive(FromRow, Record)]
struct Item {
title: String,
description: String,
}
// ...
// Item derives `Record`, providing query functions.
fn do_thing(db_pool: &PgPool) -> sqlx::Result<Item> {
let item = Item { title: String::from("hi"), description: String::from("no") };
item.create(db_pool); // example uuid: 01940cf1-0249-73dc-ac19-79fb07a51ba1
let mut new_item = Item::read(Uuid::from("01940cf1-0249-73dc-ac19-79fb07a51ba1"))?;
new_item.title = String::from("whoa!");
new_item.update(db_pool)?;
}
```