38 lines
964 B
Rust
38 lines
964 B
Rust
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
|
|
}
|
|
}
|