1#[test]
2fn example() {
3 use super::*;
4 use serde::{Deserialize, Serialize};
5
6 #[derive(Debug, Serialize, Deserialize)]
7 pub struct Student {
8 name: String,
9 value: usize,
10 }
11 impl TableLayout for Student {
12 const TABLE_NAME: &'static str = "student";
13 }
14
15 let db = open("./db").unwrap();
16 let table = db.table();
17 let bob_key = table.push(Student {
18 name: "bob".into(),
19 value: 0,
20 });
21
22 let bob = table.get(&bob_key);
24 dbg!(bob);
25
26 for (key, value) in table.iter() {
28 let key = key.value(&table);
29 println!("key: {key}, student: {value:?}");
30 }
31
32 for key in table.keys() {
34 table.update(&key, |student| {
35 if let Some(student) = student {
36 student.value += 1;
37 }
38 })
39 }
40}