From 9403ef0748966d9c7467d685ac4c9cd4d1abe345 Mon Sep 17 00:00:00 2001 From: mdecimus Date: Tue, 29 Jul 2025 19:14:48 +0200 Subject: [PATCH] Add force queue migration options --- crates/migration/src/lib.rs | 42 +++++++++++++++++++++++++++++-------- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/crates/migration/src/lib.rs b/crates/migration/src/lib.rs index 6b6b7970..742db2ea 100644 --- a/crates/migration/src/lib.rs +++ b/crates/migration/src/lib.rs @@ -47,15 +47,19 @@ const LOCK_WAIT_TIME_CORE: u64 = 5 * 60; const LOCK_RETRY_TIME: Duration = Duration::from_secs(30); pub async fn try_migrate(server: &Server) -> trc::Result<()> { - if std::env::var("FORCE_MIGRATE_QUEUE").is_ok() { - migrate_queue_v012(server) - .await - .caused_by(trc::location!())?; - return Ok(()); - } else if std::env::var("FORCE_MIGRATE_QUEUE_V011").is_ok() { - migrate_queue_v011(server) - .await - .caused_by(trc::location!())?; + if let Some(version) = std::env::var("FORCE_MIGRATE_QUEUE") + .ok() + .and_then(|s| s.parse::().ok()) + { + if version == 12 { + migrate_queue_v012(server) + .await + .caused_by(trc::location!())?; + } else { + migrate_queue_v011(server) + .await + .caused_by(trc::location!())?; + } return Ok(()); } else if let Some(account_id) = std::env::var("FORCE_MIGRATE_ACCOUNT") .ok() @@ -65,6 +69,26 @@ pub async fn try_migrate(server: &Server) -> trc::Result<()> { .await .caused_by(trc::location!())?; return Ok(()); + } else if let Some(version) = std::env::var("FORCE_MIGRATE") + .ok() + .and_then(|s| s.parse::().ok()) + { + match version { + 1 => { + migrate_v0_12(server, true) + .await + .caused_by(trc::location!())?; + } + 2 => { + migrate_v0_12(server, false) + .await + .caused_by(trc::location!())?; + } + _ => { + panic!("Unknown migration version: {version}"); + } + } + return Ok(()); } let add_v013_config = match server