public override int Run(string[] remainingArguments) { if (!Program.IsCorrectlySetup()) { return(0); } DimConsole.WriteIntro("Checking status against the database"); base.CheckRecordsTableExists(); var runFiles = DimFileProcessor.GetRunFiles(); if (runFiles.Count > 0) { // Display count of files found. DimConsole.WriteLine(string.Format("{0} script(s) found to be run.", runFiles.Count)); // Display names of files found. for (int i = 0, l = runFiles.Count; i < l; i++) { int count = i + 1; var fileName = Path.GetFileName(runFiles[i].FileName); DimConsole.WriteLine(string.Format("{0}. \"{1}\"", count, fileName)); } } else { DimConsole.WriteLine("No scripts found to be run."); } return(0); }
public override int Run(string[] remainingArguments) { if (!Program.IsCorrectlySetup()) { return(0); } DimConsole.WriteIntro("Run updates on the database"); base.CheckRecordsTableExists(); var runFiles = DimFileProcessor.GetRunFiles(); if (runFiles.Count > 0) { // Display count of files found. DimConsole.WriteLine(string.Format("{0} script(s) found to be run.", runFiles.Count)); // Display names of files found. for (int i = 0, l = runFiles.Count; i < l; i++) { int count = i + 1; var fileName = Path.GetFileName(runFiles[i].FileName); DimConsole.WriteLine(string.Format("{0}. \"{1}\"", count, fileName)); } // Backup before running anything (use for rollback) DimConsole.WriteLine("Backing up database (local backup)"); Backups.SaveFile(base.DryRun, completedCallback : delegate(string fileName) { DimConsole.WriteLine("Completed backup:", fileName); }); // Execute all new patches foreach (var file in runFiles) { DimConsole.WriteLine("Executing: \"" + Path.GetFileName(file.FileName) + "\""); DimFileProcessor.ExecuteFile(file, base.DryRun, successCallback : delegate() { DimConsole.WriteLine("Executed successfully!"); }, failureCallback : delegate(string message) { DimConsole.WriteLine("Execution failed:", message); }); } DimConsole.WriteLine("Update completed."); } else { DimConsole.WriteLine("No scripts found to be run."); } return(0); }
public override int Run(string[] remainingArguments) { DimConsole.WriteIntro("Run a test"); var allRecords = DatabaseProvider.RecordRepository.GetAll(); DimConsole.WriteLine("Read from DB (count: " + allRecords.Count + ")"); foreach (var record in allRecords) { DimConsole.WriteInfoLine("'" + record.FileName + "'", record.FileHash, record.Executed.ToString("dd-MMM-yyy hh:mm:ss")); } var filesOnSystem = DimFileProcessor.GetAllFiles(); DimConsole.WriteLine("Read from FS (count : " + filesOnSystem.Count + ")"); foreach (var file in filesOnSystem) { var hash = DimFileProcessor.GetFileHash(file); DimConsole.WriteInfoLine("'" + file.FileName + "'", file.Parent.RunKind.ToString(), hash); } var filesToRun = DimFileProcessor.GetRunFiles(); DimConsole.WriteLine("Only \"run\" files (count: " + filesToRun.Count + ")"); foreach (var file in filesToRun) { var hash = DimFileProcessor.GetFileHash(file); DimConsole.WriteInfoLine("'" + file.FileName + "'", file.Parent.RunKind.ToString(), hash); } // DimConsole.WriteLine("Find file by FileName:"); // DimConsole.WriteLine("Please enter a file name:"); // var fileName = Console.ReadLine(); // var testFile = DatabaseCommander.GetRecordByFileName(fileName); // if(testFile != null) // DimConsole.WriteLine("File found!", testFile.FileName, testFile.Executed.ToString("dd-MMM-yyy hh:mm:ss")); // else // DimConsole.WriteLine("File not found :("); DimConsole.WriteLine("Completed test"); return(0); }