EnVisageOnline/Main/Source/EnVisage/App_Start/MongoMigrationConfig.cs

25 lines
936 B
C#

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);
}
}
}