somedb-macros

Crates.iosomedb-macros
lib.rssomedb-macros
version0.1.2
created_at2025-03-23 17:29:39.035377+00
updated_at2025-04-09 15:44:52.063179+00
descriptionA simple database for storing data.
homepage
repositoryhttps://github.com/slackers123/somedb
max_upload_size
id1602900
size44,259
slackers (slackers123)

documentation

README

SomeDb

Extremely simple database to store data.

Usage

use somedb::entity;
#[entity]
#[derive(Debug, PartialEq)]
struct MyStruct {
    #[entity_id(auto_generate)]
    id: i32,
    foo: String,
}

fn main() -> Result<(), Box<dyn std::error::Error>> {
    let mut db = somedb::db::Database::default(true)?;

    let entity = MyStruct {
        id: 0, // this will be ignored because auto_generate is active
        foo: "bar".to_string(),
    };

    let stored_entity = db.store(entity)?;

    let loaded_entity = db.find_by_id::<MyStruct>(stored_entity.id)?.unwrap();

    assert_eq!(stored_entity, loaded_entity);

    Ok(())
}

Features

  • Store entities
  • Load all entities
  • Load entities by id
  • Delete entities by id
  • general query iterator

Future Improvements

  • improved storage model to avoid loading entire database into memory
Commit count: 22

cargo fmt