38 lines
1.0 KiB
Rust
38 lines
1.0 KiB
Rust
use tenebrous_dicebot::db::sqlite::{Database as SqliteDatabase, Variables};
|
|
use tenebrous_dicebot::db::Database;
|
|
use tenebrous_dicebot::error::BotError;
|
|
|
|
#[tokio::main]
|
|
async fn main() -> Result<(), BotError> {
|
|
let sled_path = std::env::args()
|
|
.skip(1)
|
|
.next()
|
|
.expect("Need a path to a Sled database as an arument.");
|
|
|
|
let sqlite_path = std::env::args()
|
|
.skip(2)
|
|
.next()
|
|
.expect("Need a path to an sqlite database as an arument.");
|
|
|
|
let db = Database::new(&sled_path)?;
|
|
|
|
let all_variables = db.variables.get_all_variables()?;
|
|
|
|
let sql_db = SqliteDatabase::new(&sqlite_path).await?;
|
|
|
|
for var in all_variables {
|
|
if let ((username, room_id, variable_name), value) = var {
|
|
println!(
|
|
"Migrating {}::{}::{} = {} to sql",
|
|
username, room_id, variable_name, value
|
|
);
|
|
|
|
sql_db
|
|
.set_user_variable(&username, &room_id, &variable_name, value)
|
|
.await;
|
|
}
|
|
}
|
|
|
|
Ok(())
|
|
}
|