diff --git a/CHANGELOG.md b/CHANGELOG.md index b09301d29..5f8d5bad8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## Unreleased + +fix: run migrations on backup import #3006 + ## 1.71.0 ### API Changes diff --git a/src/imex.rs b/src/imex.rs index d14cde960..9423c84a9 100644 --- a/src/imex.rs +++ b/src/imex.rs @@ -423,7 +423,8 @@ async fn imex_inner( export_backup(context, path, passphrase.unwrap_or_default()).await } ImexMode::ImportBackup => { - import_backup(context, path, passphrase.unwrap_or_default()).await + import_backup(context, path, passphrase.unwrap_or_default()).await?; + context.sql.run_migrations(context).await } } } diff --git a/src/sql.rs b/src/sql.rs index d3d796387..4da334bff 100644 --- a/src/sql.rs +++ b/src/sql.rs @@ -215,6 +215,12 @@ impl Sql { conn.pragma_update(None, "synchronous", &"NORMAL".to_string())?; } + self.run_migrations(context).await?; + + Ok(()) + } + + pub async fn run_migrations(&self, context: &Context) -> Result<()> { // (1) update low-level database structure. // this should be done before updates that use high-level objects that // rely themselves on the low-level structure.