mirror of
https://github.com/mikedilger/gossip.git
synced 2024-09-29 16:31:18 +00:00
lmdb: do import only after GLOBALS has been lazy-static created
This commit is contained in:
parent
b25a07b491
commit
70e5d40176
@ -79,6 +79,9 @@ fn main() -> Result<(), Error> {
|
||||
.with_env_filter(env_filter)
|
||||
.init();
|
||||
|
||||
// Initialize storage
|
||||
GLOBALS.storage.init()?;
|
||||
|
||||
// Load settings
|
||||
let settings = GLOBALS.storage.read_settings()?.unwrap();
|
||||
*GLOBALS.settings.write() = settings;
|
||||
|
@ -155,7 +155,7 @@ impl Storage {
|
||||
|
||||
let person_relays = env.create_db(Some("person_relays"), DatabaseFlags::empty())?;
|
||||
|
||||
let storage = Storage {
|
||||
Ok(Storage {
|
||||
env,
|
||||
general,
|
||||
event_seen_on_relay,
|
||||
@ -169,21 +169,25 @@ impl Storage {
|
||||
relationships,
|
||||
people,
|
||||
person_relays,
|
||||
};
|
||||
})
|
||||
}
|
||||
|
||||
// Run this after GLOBALS lazy static initialisation, so functions within storage can
|
||||
// access GLOBALS without hanging.
|
||||
pub fn init(&self) -> Result<(), Error> {
|
||||
// If migration level is missing, we need to import from legacy sqlite
|
||||
match storage.read_migration_level()? {
|
||||
match self.read_migration_level()? {
|
||||
None => {
|
||||
// Import from sqlite
|
||||
storage.import()?;
|
||||
storage.migrate(0)?;
|
||||
self.import()?;
|
||||
self.migrate(0)?;
|
||||
}
|
||||
Some(level) => {
|
||||
storage.migrate(level)?;
|
||||
self.migrate(level)?;
|
||||
}
|
||||
}
|
||||
|
||||
Ok(storage)
|
||||
Ok(())
|
||||
}
|
||||
|
||||
pub fn get_general_stats(&self) -> Result<Stat, Error> {
|
||||
|
Loading…
Reference in New Issue
Block a user