🦉 model database
Find a file
JMARyA a858f0838a
Some checks failed
ci/woodpecker/push/test Pipeline failed
delete
2025-05-05 08:13:11 +02:00
.woodpecker init 2025-04-28 18:53:21 +02:00
examples init 2025-04-28 18:53:21 +02:00
owl_macro no rwlocks 2025-05-04 23:52:55 +02:00
src delete 2025-05-05 08:13:11 +02:00
tests delete 2025-05-05 08:13:11 +02:00
.gitignore init 2025-04-28 18:53:21 +02:00
Cargo.lock no rwlocks 2025-05-04 23:52:55 +02:00
Cargo.toml no rwlocks 2025-05-04 23:52:55 +02:00
Dockerfile init 2025-04-28 18:53:21 +02:00
README.md init 2025-04-28 18:53:21 +02:00

🦉 owl

owl provides a model based database with references and relations.

Example

Simple embedded database:

use owl::prelude::*;

#[model]
#[derive(Debug)]
pub struct Item {
    pub id: Id,
    pub cost: f64,
    pub strength: f64
}

pub fn main() {
    // Init
    let db = Database::in_memory();

    // Save
    let item = Item {
        id: Id::new_ulid(),
        cost: 1.20,
        strength: 0.4,
    };

    dbg!(&item);
    db.save(&item);

    // Get
    let i: Item = db.get(&item.id.to_string());

    dbg!(i);
}

For more usage examples look at the ./examples directory.