public bool LoadMigrations() { var logger = LogManager.GetLogger("Migrator"); var migrationFiles = Directory.GetFiles(MigrationsScriptFilePath, "*.json"); MigrationsList.Clear(); foreach (string migrationsFile in migrationFiles) { try { var migration = JsonConvert.DeserializeObject <Migrations>( File.ReadAllText(migrationsFile)); if (MigrationsConfig.SysDbVersion.CompareTo(migration.SysVersion) == -1) { MigrationsList.Add(migration); logger.Info($"{Path.GetFileName(migrationsFile)} ({migration.Description}) loaded."); } } catch (Exception e) { logger.Error($"Loading {Path.GetFileName(migrationsFile)} - {e.Message} ({e.StackTrace})"); return(false); } } return(true); }