public TaskExecutor( [NotNull] IRunnerContext runnerContext, [CanBeNull] IConnectionStringProvider connectionStringProvider, [NotNull] AssemblyLoaderFactory assemblyLoaderFactory, // ReSharper disable once UnusedParameter.Local MigrationProcessorFactoryProvider factoryProvider) : this( runnerContext, assemblyLoaderFactory, connectionStringProvider) { }
private IMigrationProcessorFactory GetMigrationProcessorFactory(IDatabaseConfig databaseConfig) { string processorName; var vendor = databaseConfig.Vendor; if (!DatabaseProcessorMapping.TryGetValue(vendor.ToUpper(), out processorName)) { throw new Exception(string.Format("The vendor '{0}' processor type has not been set up for Habanero Test Migrations.", vendor)); } var migrationProcessorFactoryProvider = new MigrationProcessorFactoryProvider(); return(migrationProcessorFactoryProvider.GetFactory(processorName)); }
private static IMigrationProcessor BuildMigrationProcessor(string database, string connection, int timeout, IAnnouncer announcer, bool previewOnly) { var processorFactoryProvider = new MigrationProcessorFactoryProvider(); var processorFactory = processorFactoryProvider.GetFactory(database); var processorOptions = new ProcessorOptions { Timeout = timeout, PreviewOnly = previewOnly }; var processor = processorFactory.Create(connection, announcer, processorOptions); return processor; }
public TaskExecutor(IRunnerContext runnerContext, AssemblyLoaderFactory assemblyLoaderFactory, MigrationProcessorFactoryProvider processorFactoryProvider) { if (runnerContext == null) { throw new ArgumentNullException("runnerContext"); } if (assemblyLoaderFactory == null) { throw new ArgumentNullException("assemblyLoaderFactory"); } RunnerContext = runnerContext; AssemblyLoaderFactory = assemblyLoaderFactory; ProcessorFactoryProvider = processorFactoryProvider; }
private static IMigrationProcessor BuildMigrationProcessor(string database, string connection, int timeout, IAnnouncer announcer, bool previewOnly) { var processorFactoryProvider = new MigrationProcessorFactoryProvider(); var processorFactory = processorFactoryProvider.GetFactory(database); var processorOptions = new ProcessorOptions { Timeout = timeout, PreviewOnly = previewOnly }; var processor = processorFactory.Create(connection, announcer, processorOptions); return(processor); }
protected override Result <MigrationResult> ExecuteCore(Session session, MigrationContract contract) { if (contract == null) { throw new ArgumentNullException(nameof(contract)); } var announcer = new TextWriterAnnouncer(Logger.Debug); var migrationContext = new RunnerContext(announcer) { NestedNamespaces = true }; var factoryProvider = new MigrationProcessorFactoryProvider(); var factory = factoryProvider.GetFactory(contract.DatabaseType); var migrationOptions = new ProcessorOptions { PreviewOnly = false, ProviderSwitches = null, Timeout = contract.Timeout }; using (var processor = factory.Create(contract.AdminConnectionString, announcer, migrationOptions)) { var migrationAssemblies = _migrationAssemblies.Select(x => x.Assembly); var assemblies = new AssemblyCollection(migrationAssemblies); var runner = new MigrationRunner(assemblies, migrationContext, processor); runner.Conventions.TypeIsMigration = IsTypeMigration; runner.Conventions.GetMigrationInfo = GetPlatformMigrationInfo; Logger.Info("Start migration"); Logger.Info($"-> Database type: {contract.DatabaseType}"); Logger.Info($"-> Command timeout: {migrationOptions.Timeout}"); Logger.Info($"-> Assemblies to scan: {string.Join("; ", assemblies.Assemblies.Select(x => x.GetName().Name))}"); runner.MigrateUp(true); } var migrationResult = new MigrationResult(_migrationAssemblies); return(Success(migrationResult)); }
public void Setup() { _migrationProcessorFactoryProvider = new MigrationProcessorFactoryProvider(); }
public CustomTaskExecutor(IRunnerContext runnerContext, AssemblyLoaderFactory assemblyLoaderFactory, MigrationProcessorFactoryProvider processorFactoryProvider) : base(runnerContext, assemblyLoaderFactory, processorFactoryProvider) { }