caretta-sync/core/src/data/local/migration/mod.rs

17 lines
545 B
Rust
Raw Normal View History

2025-09-03 06:20:34 +09:00
mod v1;
2025-09-03 07:41:11 +09:00
use rusqlite::{Error, Connection};
2025-09-03 06:20:34 +09:00
use tracing::{event, Level};
2025-09-03 07:41:11 +09:00
pub fn migrate(con: &mut Connection) -> Result<(), Error>{
2025-09-03 06:20:34 +09:00
let version: u32 = con.pragma_query_value(None,"user_version", |row| row.get(0)).expect("Failed to get user_version");
if version < 1 {
2025-09-18 08:14:57 +09:00
let tx = con.transaction()?;
2025-09-03 06:20:34 +09:00
event!(Level::INFO, "Migrate local db to version 1");
2025-09-18 08:14:57 +09:00
v1::migrate(&tx)?;
tx.pragma_update(None, "user_version", 1)?;
tx.commit()?;
2025-09-03 06:20:34 +09:00
event!(Level::INFO, "Migration done.");
}
Ok(())
}