| 
						
						
							
								
							
						
						
					 | 
					@ -200,6 +200,28 @@ | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					          </div> | 
					 | 
					 | 
					          </div> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        </div> | 
					 | 
					 | 
					        </div> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        <!-- Warning State --> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        <div | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          v-if="warning" | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          class="mb-6 bg-red-50 border border-red-200 rounded-lg p-4" | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        > | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          <div class="flex"> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            <div class="flex-shrink-0"> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					              <IconRenderer | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                icon-name="warning" | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                svg-class="h-5 w-5 text-red-400" | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                fill="currentColor" | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					              /> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            </div> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            <div class="ml-3"> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					              <h3 class="text-sm font-medium text-red-800">Warning</h3> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					              <div class="mt-2 text-sm text-red-700"> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					                <p>{{ warning }}</p> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					              </div> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					            </div> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          </div> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					        </div> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        <!-- Success State --> | 
					 | 
					 | 
					        <!-- Success State --> | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        <div | 
					 | 
					 | 
					        <div | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					          v-if="successMessage" | 
					 | 
					 | 
					          v-if="successMessage" | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -1099,6 +1121,7 @@ export default class DatabaseMigration extends Vue { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					  private isLoading = false; | 
					 | 
					 | 
					  private isLoading = false; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					  private loadingMessage = ""; | 
					 | 
					 | 
					  private loadingMessage = ""; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					  private error = ""; | 
					 | 
					 | 
					  private error = ""; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					  private warning = ""; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					  private exportedData: Record<string, any> | null = null; | 
					 | 
					 | 
					  private exportedData: Record<string, any> | null = null; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					  private successMessage = ""; | 
					 | 
					 | 
					  private successMessage = ""; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -1248,6 +1271,7 @@ export default class DatabaseMigration extends Vue { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        this.successMessage = `Successfully migrated ${totalMigrated} total records: ${result.accountsMigrated} accounts, ${result.settingsMigrated} settings, ${result.contactsMigrated} contacts.`; | 
					 | 
					 | 
					        this.successMessage = `Successfully migrated ${totalMigrated} total records: ${result.accountsMigrated} accounts, ${result.settingsMigrated} settings, ${result.contactsMigrated} contacts.`; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        if (result.warnings.length > 0) { | 
					 | 
					 | 
					        if (result.warnings.length > 0) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					          this.successMessage += ` ${result.warnings.length} warnings.`; | 
					 | 
					 | 
					          this.successMessage += ` ${result.warnings.length} warnings.`; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          this.warning += result.warnings.join(", "); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        } | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        this.successMessage += " Now finish by migrating contacts."; | 
					 | 
					 | 
					        this.successMessage += " Now finish by migrating contacts."; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        logger.info( | 
					 | 
					 | 
					        logger.info( | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					@ -1255,8 +1279,7 @@ export default class DatabaseMigration extends Vue { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					          result, | 
					 | 
					 | 
					          result, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        ); | 
					 | 
					 | 
					        ); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        // Refresh comparison data after successful migration | 
					 | 
					 | 
					        this.comparison = null; | 
				
			
			
				
				
			
		
	
		
		
			
				
					 | 
					 | 
					        this.comparison = await compareDatabases(); | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					      } else { | 
					 | 
					 | 
					      } else { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        this.error = `Migration failed: ${result.errors.join(", ")}`; | 
					 | 
					 | 
					        this.error = `Migration failed: ${result.errors.join(", ")}`; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        logger.error( | 
					 | 
					 | 
					        logger.error( | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -1342,14 +1365,14 @@ export default class DatabaseMigration extends Vue { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        this.successMessage = `Successfully migrated ${result.settingsMigrated} settings.`; | 
					 | 
					 | 
					        this.successMessage = `Successfully migrated ${result.settingsMigrated} settings.`; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        if (result.warnings.length > 0) { | 
					 | 
					 | 
					        if (result.warnings.length > 0) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					          this.successMessage += ` ${result.warnings.length} warnings.`; | 
					 | 
					 | 
					          this.successMessage += ` ${result.warnings.length} warnings.`; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          this.warning += result.warnings.join(", "); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        } | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        logger.info( | 
					 | 
					 | 
					        logger.info( | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					          "[DatabaseMigration] Settings migration completed successfully", | 
					 | 
					 | 
					          "[DatabaseMigration] Settings migration completed successfully", | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					          result, | 
					 | 
					 | 
					          result, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        ); | 
					 | 
					 | 
					        ); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        // Refresh comparison data after successful migration | 
					 | 
					 | 
					        this.comparison = null; | 
				
			
			
				
				
			
		
	
		
		
			
				
					 | 
					 | 
					        this.comparison = await compareDatabases(); | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					      } else { | 
					 | 
					 | 
					      } else { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        this.error = `Migration failed: ${result.errors.join(", ")}`; | 
					 | 
					 | 
					        this.error = `Migration failed: ${result.errors.join(", ")}`; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        logger.error( | 
					 | 
					 | 
					        logger.error( | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					@ -1385,14 +1408,14 @@ export default class DatabaseMigration extends Vue { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        this.successMessage = `Successfully migrated ${result.accountsMigrated} accounts.`; | 
					 | 
					 | 
					        this.successMessage = `Successfully migrated ${result.accountsMigrated} accounts.`; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        if (result.warnings.length > 0) { | 
					 | 
					 | 
					        if (result.warnings.length > 0) { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					          this.successMessage += ` ${result.warnings.length} warnings.`; | 
					 | 
					 | 
					          this.successMessage += ` ${result.warnings.length} warnings.`; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					 | 
					 | 
					 | 
					          this.warning += result.warnings.join(", "); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        } | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        logger.info( | 
					 | 
					 | 
					        logger.info( | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					          "[DatabaseMigration] Account migration completed successfully", | 
					 | 
					 | 
					          "[DatabaseMigration] Account migration completed successfully", | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					          result, | 
					 | 
					 | 
					          result, | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        ); | 
					 | 
					 | 
					        ); | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					
 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					        // Refresh comparison data after successful migration | 
					 | 
					 | 
					        this.comparison = null; | 
				
			
			
				
				
			
		
	
		
		
			
				
					 | 
					 | 
					        this.comparison = await compareDatabases(); | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					 | 
					 | 
					      } else { | 
					 | 
					 | 
					      } else { | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        this.error = `Migration failed: ${result.errors.join(", ")}`; | 
					 | 
					 | 
					        this.error = `Migration failed: ${result.errors.join(", ")}`; | 
				
			
			
		
	
		
		
			
				
					 | 
					 | 
					        logger.error( | 
					 | 
					 | 
					        logger.error( | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					
  |