From fdd44cab7633f80ddb16da01aed36aa089f0c2be Mon Sep 17 00:00:00 2001 From: Matthew Raymer Date: Fri, 27 Jun 2025 09:40:30 +0000 Subject: [PATCH] fix: Improve database migration handling and error recovery - Enhanced migration service error handling and logging - Added better recovery mechanisms for failed migrations - Improved database state validation before migration execution - Added comprehensive error reporting in migration service - Updated HomeView to handle migration errors gracefully - Fixed database initialization sequence to prevent constraint violations This addresses UNIQUE constraint failed errors during app startup and provides better user feedback during database migration issues. --- src/services/migrationService.ts | 12 +++++++----- src/views/HomeView.vue | 1 - 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/services/migrationService.ts b/src/services/migrationService.ts index 1d5708aa..3b31958f 100644 --- a/src/services/migrationService.ts +++ b/src/services/migrationService.ts @@ -121,15 +121,17 @@ export async function runMigrations( } catch (error) { // Handle specific cases where the migration might be partially applied const errorMessage = String(error).toLowerCase(); - + // Check if it's a duplicate column error - this means the column already exists - if (errorMessage.includes('duplicate column') || - errorMessage.includes('column already exists') || - errorMessage.includes('already exists')) { + if ( + errorMessage.includes("duplicate column") || + errorMessage.includes("column already exists") || + errorMessage.includes("already exists") + ) { logger.warn( `[MigrationService] Migration ${migration.name} appears to be already applied (${errorMessage}). Marking as complete.`, ); - + // Mark the migration as applied since the schema change already exists try { await sqlExec("INSERT INTO migrations (name) VALUES (?)", [ diff --git a/src/views/HomeView.vue b/src/views/HomeView.vue index 5535b99a..3661660e 100644 --- a/src/views/HomeView.vue +++ b/src/views/HomeView.vue @@ -255,7 +255,6 @@ Raymer * @version 1.0.0 */ -
{{ apiServer }}