using EnVisage.MongoDbMigration.DataAccess; using EnVisage.MongoDbMigration.Logic; using EnVisage.Properties; using System.Reflection; using System.Linq; using System; namespace EnVisage { public class MongoMigrationConfig { public static void RunMigration() { var executers = Assembly.GetAssembly(typeof(MongoMigrationConfig)) .GetTypes() .Where(x => x.IsClass && x.GetInterface("IMigrationExecuterBase") != null) .Select(x => (IMigrationExecuterBase)Activator.CreateInstance(x)) .ToList(); var container = new MongoAccessorsContainer(AppSettingsManager.MongoDBConnectionString, Settings.Default.MongoDBName); (new MigrationsManager(container, AppSettingsManager.MongoDBIsTestMode)).RunExecuters(executers); } } }