use j_db::database::Database; use j_db::migration::Migration; use json::JsonValue; pub struct Migration9UpdateToEMP {} impl Migration for Migration9UpdateToEMP { fn up(&self, db: &Database) -> j_db::error::Result<()> { let tree = db.db.open_tree("Users")?; for user in tree.iter() { let (id, user_bytes) = user?; let mut user = json::parse(std::str::from_utf8(&user_bytes).unwrap())?; for item in user["inventory"]["inventory"].members_mut() { let item_type = item["item_type"].as_str().unwrap(); if item_type == "TacticalNuke" { item["item_type"] = JsonValue::String("EMP".to_string()); } } tree.insert(id, user.to_string().into_bytes())?; } Ok(()) } fn down(&self, _db: &Database) -> j_db::error::Result<()> { Ok(()) } fn version(&self) -> u64 { 9 } }