public IMigrator CreateMigrator(Assembly assembly, string scope, int version) { if (assembly == null) { throw new ArgumentNullException("assembly"); } if (scope == null) { throw new ArgumentNullException("scope"); } if (ConfigurationManager.ConnectionStrings[ConnStrName] == null) { throw new Exception(ConnStrName + " connection string configuration not found."); } var connstr = ConfigurationManager.ConnectionStrings[ConnStrName].ConnectionString; var config = new StaticMigratorConfiguration {ConnectionString = connstr, CommandTimeout = 300}; IConnectionProvider connProvider = new SQLiteConnectionProvider(config); ITransactionProvider transProvider = new TransactionProvider(connProvider); IDatabaseProvider dbProvider = new SQLiteDatabaseProvider(connProvider, transProvider, config); ISchemaProvider schemaProvider = new SQLiteSchemaProvider(dbProvider); ISchemaStateManager schemaStateManager = new SQLiteSchemaStateManager(dbProvider, schemaProvider); IVersionStateFactory versionStateFactory = new SQLiteVersionStateFactory(config, schemaStateManager); IMigrationFinder finder = new AssemblyMigrationFinder(assembly); IMigrationSelector selector = new MigrationSelector(finder, versionStateFactory); IMigrationFactoryChooser chooser = new WindsorBasedFactoryChooser(kernel); ICommonTransformations common = new CommonTransformations(dbProvider, schemaProvider); IMigrationInitializer initializer = new MigrationInitializer(config, dbProvider, schemaProvider, common, connProvider); IMigrationRunner runner = new MigrationRunner(chooser, initializer, schemaStateManager, config, transProvider); IWorkingDirectoryManager workDirMng = new NoOpWorkingDirectoryManager(); IMigrator migrator = new Migrator(selector, runner, dbProvider, schemaStateManager, workDirMng); //MigrationScope migrationScope = null; migrator.Start += delegate { }; migrator.End += delegate { }; return migrator; }
public IMigrator CreateMigrator(Assembly assembly, string scope, ISession session) { if (assembly == null) { throw new ArgumentNullException("assembly"); } if (scope == null) { throw new ArgumentNullException("scope"); } var config = new StaticMigratorConfiguration(); config.Scope = scope; INHibernateSessionProvider hibernateSessionProvider = new StaticNHibernateSessionProvider(session); IConnectionProvider connProvider = new NHibernateConnectionProvider(hibernateSessionProvider); ITransactionProvider transProvider = new NHibernateTransactionProvider(hibernateSessionProvider); IDatabaseProvider dbProvider = new SQLiteDatabaseProvider(connProvider, transProvider, config); ISchemaProvider schemaProvider = new SQLiteSchemaProvider(dbProvider); ISchemaStateManager schemaStateManager = new SQLiteSchemaStateManager(dbProvider, schemaProvider); IVersionStateFactory versionStateFactory = new SQLiteVersionStateFactory(config, schemaStateManager); IMigrationFinder finder = new AssemblyMigrationFinder(assembly); IMigrationSelector selector = new MigrationSelector(finder, versionStateFactory); IMigrationFactoryChooser chooser = new WindsorBasedFactoryChooser(kernel); ICommonTransformations common = new CommonTransformations(dbProvider, schemaProvider); IMigrationInitializer initializer = new MigrationInitializer(config, dbProvider, schemaProvider, common, connProvider); IMigrationRunner runner = new MigrationRunner(chooser, initializer, schemaStateManager, config, transProvider); IWorkingDirectoryManager workDirMng = new NoOpWorkingDirectoryManager(); IMigrator migrator = new Migrator(selector, runner, dbProvider, schemaStateManager, workDirMng); //MigrationScope migrationScope = null; migrator.Start += delegate { }; migrator.End += delegate { }; return migrator; }