Exemplo n.º 1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MigrationRunner"/> class.
 /// </summary>
 /// <param name="options">The migration runner options</param>
 /// <param name="processorOptions">The migration processor options</param>
 /// <param name="profileLoader">The profile loader</param>
 /// <param name="processorAccessor">The migration processor accessor</param>
 /// <param name="maintenanceLoader">The maintenance loader</param>
 /// <param name="migrationLoader">The migration loader</param>
 /// <param name="logger">The logger</param>
 /// <param name="stopWatch">The stopwatch</param>
 /// <param name="migrationRunnerConventionsAccessor">The accessor for migration runner conventions</param>
 /// <param name="assemblySource">The assemblies to scan for migrations, etc...</param>
 /// <param name="migrationValidator">The validator for migrations</param>
 /// <param name="serviceProvider">The service provider</param>
 public MigrationRunner(
     [NotNull] IOptions <RunnerOptions> options,
     [NotNull] IOptionsSnapshot <ProcessorOptions> processorOptions,
     [NotNull] IProfileLoader profileLoader,
     [NotNull] IProcessorAccessor processorAccessor,
     [NotNull] IMaintenanceLoader maintenanceLoader,
     [NotNull] IMigrationInformationLoader migrationLoader,
     [NotNull] ILogger <MigrationRunner> logger,
     [NotNull] IStopWatch stopWatch,
     [NotNull] IMigrationRunnerConventionsAccessor migrationRunnerConventionsAccessor,
     [NotNull] IAssemblySource assemblySource,
     [NotNull] MigrationValidator migrationValidator,
     [NotNull] IServiceProvider serviceProvider)
     : this(
         options,
         processorOptions,
         profileLoader,
         processorAccessor,
         maintenanceLoader,
         migrationLoader,
         logger,
         stopWatch,
         migrationRunnerConventionsAccessor,
         assemblySource,
         migrationValidator,
         serviceProvider,
         migrationScopeHandler : null)
 {
 }
 public ConstrainedMigrationRunner(
     IOptions <RunnerOptions> options, IOptionsSnapshot <ProcessorOptions> processorOptions,
     IProfileLoader profileLoader, IProcessorAccessor processorAccessor, IMaintenanceLoader maintenanceLoader,
     IMigrationInformationLoader migrationLoader, ILogger <MigrationRunner> logger, IStopWatch stopWatch,
     IMigrationRunnerConventionsAccessor migrationRunnerConventionsAccessor, IAssemblySource assemblySource,
     MigrationValidator migrationValidator, IServiceProvider serviceProvider
     ) : base(options, processorOptions, profileLoader,
              processorAccessor, maintenanceLoader, migrationLoader, logger, stopWatch, migrationRunnerConventionsAccessor, assemblySource,
              migrationValidator, serviceProvider
              )
 {
 }
        public void Setup()
        {
            _migrationConventions = new Mock <IMigrationRunnerConventions>();
            _migrationConventions.Setup(x => x.GetMaintenanceStage).Returns(DefaultMigrationRunnerConventions.Instance.GetMaintenanceStage);
            _migrationConventions.Setup(x => x.TypeIsMigration).Returns(DefaultMigrationRunnerConventions.Instance.TypeIsMigration);
            _migrationConventions.Setup(x => x.TypeHasTags).Returns(DefaultMigrationRunnerConventions.Instance.TypeHasTags);
            _migrationConventions.Setup(x => x.TypeHasMatchingTags).Returns(DefaultMigrationRunnerConventions.Instance.TypeHasMatchingTags);

            _maintenanceLoader = ServiceCollectionExtensions.CreateServices()
                                 .Configure <RunnerOptions>(opt => opt.Tags = _tags)
                                 .AddSingleton <IMigrationRunnerConventionsAccessor>(new PassThroughMigrationRunnerConventionsAccessor(_migrationConventions.Object))
                                 .BuildServiceProvider()
                                 .GetRequiredService <IMaintenanceLoader>();

            _maintenanceLoaderNoTags = ServiceCollectionExtensions.CreateServices()
                                       .AddSingleton <IMigrationRunnerConventionsAccessor>(new PassThroughMigrationRunnerConventionsAccessor(_migrationConventions.Object))
                                       .BuildServiceProvider()
                                       .GetRequiredService <IMaintenanceLoader>();
        }
Exemplo n.º 4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="MigrationRunner"/> class.
        /// </summary>
        /// <param name="options">The migration runner options</param>
        /// <param name="processorOptions">The migration processor options</param>
        /// <param name="profileLoader">The profile loader</param>
        /// <param name="processorAccessor">The migration processor accessor</param>
        /// <param name="maintenanceLoader">The maintenance loader</param>
        /// <param name="migrationLoader">The migration loader</param>
        /// <param name="logger">The logger</param>
        /// <param name="stopWatch">The stopwatch</param>
        /// <param name="migrationRunnerConventionsAccessor">The accessor for migration runner conventions</param>
        /// <param name="assemblySource">The assemblies to scan for migrations, etc...</param>
        /// <param name="migrationValidator">The validator for migrations</param>
        /// <param name="serviceProvider">The service provider</param>
        /// <param name="migrationScopeHandler">THe migration scope handler</param>
        public MigrationRunner(
            [NotNull] IOptions <RunnerOptions> options,
            [NotNull] IOptionsSnapshot <ProcessorOptions> processorOptions,
            [NotNull] IProfileLoader profileLoader,
            [NotNull] IProcessorAccessor processorAccessor,
            [NotNull] IMaintenanceLoader maintenanceLoader,
            [NotNull] IMigrationInformationLoader migrationLoader,
            [NotNull] ILogger <MigrationRunner> logger,
            [NotNull] IStopWatch stopWatch,
            [NotNull] IMigrationRunnerConventionsAccessor migrationRunnerConventionsAccessor,
            [NotNull] IAssemblySource assemblySource,
            [NotNull] MigrationValidator migrationValidator,
            [NotNull] IServiceProvider serviceProvider,
            [CanBeNull] IMigrationScopeManager migrationScopeHandler)
        {
            Processor         = processorAccessor.Processor;
            Conventions       = migrationRunnerConventionsAccessor.MigrationRunnerConventions;
            ProfileLoader     = profileLoader;
            MaintenanceLoader = maintenanceLoader;
            MigrationLoader   = migrationLoader;

            _serviceProvider  = serviceProvider;
            _options          = options.Value;
            _logger           = logger;
            _stopWatch        = stopWatch;
            _processorOptions = processorOptions.Value;

            _migrationScopeManager = migrationScopeHandler ?? new MigrationScopeHandler(Processor, processorOptions.Value);
            _migrationValidator    = migrationValidator;
            _versionLoader         = new Lazy <IVersionLoader>(serviceProvider.GetRequiredService <IVersionLoader>);

#pragma warning disable 612
#pragma warning disable 618
            _migrationAssemblies = new AssemblyCollectionService(assemblySource);
#pragma warning restore 618
#pragma warning restore 612
        }