using Microsoft.Data.Sqlite; using System; using System.IO; class Program { static void Main() { string databasePath = @".\CredentialManager\datacoupler.db"; string connectionString = $"Data Source={databasePath}"; Console.WriteLine($"Correggendo database: {Path.GetFullPath(databasePath)}"); try { using var connection = new SqliteConnection(connectionString); connection.Open(); // Controlla se la tabella esiste var checkCommand = new SqliteCommand( "SELECT name FROM sqlite_master WHERE type='table' AND name='ProfileSchedules';", connection); var result = checkCommand.ExecuteScalar(); if (result != null) { Console.WriteLine("Tabella ProfileSchedules trovata, rimozione in corso..."); // Rimuovi la tabella esistente var dropCommand = new SqliteCommand("DROP TABLE ProfileSchedules;", connection); dropCommand.ExecuteNonQuery(); Console.WriteLine("Tabella ProfileSchedules rimossa con successo."); } else { Console.WriteLine("Tabella ProfileSchedules non trovata."); } // Rimuovi anche la migrazione dal tracking per permettere la riesecuzione var deleteMigrationCommand = new SqliteCommand( "DELETE FROM __EFMigrationsHistory WHERE MigrationId = '20250924155833_AddProfileSchedules';", connection); int deletedRows = deleteMigrationCommand.ExecuteNonQuery(); Console.WriteLine($"Rimossa migrazione dal tracking: {deletedRows} righe eliminate."); Console.WriteLine("Operazione completata. Ora riavvia l'applicazione."); } catch (Exception ex) { Console.WriteLine($"Errore: {ex.Message}"); } Console.WriteLine("Premi qualsiasi tasto per continuare..."); Console.ReadKey(); } }