コード例 #1
0
        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);
        }