[][src]Function storaget::file::load_storage

pub fn load_storage<'a, T>(path: &'static str) -> StorageResult<Storage<T>> where
    T: Deserialize<'de> + 'a + StorageObject + Serialize

Load storage objects from path

Load storage objects from path If path does not exist, create it. During object loading, try to:

  1. serialize objects
  2. checking schema version
  3. try schema update if it's needed.

We use turbofish style

use core_lib::storage::*;
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize)]
struct Animal {
    id: u32,
    name: String,
}
let storage = load_storage::<Animal>("../data/animals").unwrap();
storage.remove();
assert_eq!(storage.data.len(), 0);