2 releases
Uses new Rust 2024
new 0.1.1 | Mar 24, 2025 |
---|---|
0.1.0 | Mar 23, 2025 |
#1702 in Database interfaces
45 downloads per month
25KB
602 lines
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(())
}
lib.rs
:
SomeDb - simple database
A simple database for storing 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(())
}
Dependencies
~215–660KB
~16K SLoC