Пример #1
0
        public ExtendedOracleProcessorBase(OracleBaseDbFactory factory,
                                           IMigrationGenerator generator,
                                           ILogger logger,
                                           IOptionsSnapshot <ProcessorOptions> options,
                                           IOptionsSnapshot <RunnerOptions> runnerOptions,
                                           IConnectionStringAccessor connectionStringAccessor,
                                           IExtendedMigrationGenerator <ExtendedOracleMigrationGenerator> extendedGenerator,
                                           IDbMigrationConfig migrationConfig,
                                           IMigrationSourceItem migrationSourceItem   = null,
                                           IVersionTableMetaData versionTableMetaData = null,
                                           IOptions <FluentMigratorLoggerOptions> loggerGenOptions      = null,
                                           IOptions <LogFileFluentMigratorLoggerOptions> logFileOptions = null) : base(ProcessorIds.OracleProcessorId, factory, generator, logger, options, connectionStringAccessor)
        {
            RunnerOptions        = runnerOptions;
            MigrationConfig      = migrationConfig;
            VersionTableMetaData = versionTableMetaData;
            LoggerOptions        = loggerGenOptions?.Value;
            LoggerFileOptions    = logFileOptions?.Value;

            IsSqlLogEnabled = (LoggerOptions?.ShowSql ?? false) || (LoggerFileOptions?.ShowSql ?? false);

            ExtendedGenerator = extendedGenerator;
            MigrationMetadata = new MigrationMetadata(migrationSourceItem).InitMetadata(MigrationConfig);

            ConnectionStringFunc = () => connectionStringAccessor.ConnectionString;
            Initialize();
        }
Пример #2
0
 public TestVersionLoader(IMigrationRunner runner, IVersionTableMetaData versionTableMetaData)
 {
     this.versionTableMetaData = versionTableMetaData;
     Runner      = runner;
     VersionInfo = new VersionInfo();
     Versions    = new List <long>();
 }
Пример #3
0
        public FxVersionLoader(
            IProcessorAccessor processorAccessor,
            IConventionSet conventionSet,
            IMigrationRunnerConventions conventions,
            IVersionTableMetaData versionTableMetaData,
            IMigrationRunner runner,
            string resource = "")
        {
            _conventionSet = conventionSet;
            _processor     = processorAccessor.Processor;

            Runner = runner;

            Conventions                 = conventions;
            VersionTableMetaData        = versionTableMetaData;
            VersionMigration            = new VersionMigration(VersionTableMetaData);
            VersionSchemaMigration      = new VersionSchemaMigration(VersionTableMetaData);
            VersionUniqueMigration      = new VersionUniqueMigration(VersionTableMetaData);
            VersionDescriptionMigration = new VersionDescriptionMigration(VersionTableMetaData);
            VersionResourceMigration    = new VersionResourceMigration(VersionTableMetaData);

            Resource = resource;

            LoadVersionInfo();
        }
Пример #4
0
        internal FxVersionLoader(IMigrationRunner runner, IAssemblyCollection assemblies,
                                 IConventionSet conventionSet,
                                 IMigrationRunnerConventions conventions,
                                 IRunnerContext runnerContext,
                                 IVersionTableMetaData versionTableMetaData = null,
                                 string resource = "")
        {
            _conventionSet = conventionSet;
            _processor     = runner.Processor;

            Runner     = runner;
            Assemblies = assemblies;

            Conventions                 = conventions;
            VersionTableMetaData        = versionTableMetaData ?? CreateVersionTableMetaData(runnerContext);
            VersionMigration            = new VersionMigration(VersionTableMetaData);
            VersionSchemaMigration      = new VersionSchemaMigration(VersionTableMetaData);
            VersionUniqueMigration      = new VersionUniqueMigration(VersionTableMetaData);
            VersionDescriptionMigration = new VersionDescriptionMigration(VersionTableMetaData);
            VersionResourceMigration    = new VersionResourceMigration(VersionTableMetaData);

            VersionTableMetaData.ApplicationContext = runnerContext.ApplicationContext;

            Resource = resource;

            LoadVersionInfo();
        }
Пример #5
0
 public MigrationRunner(
     IAssemblyCollection assemblies, IRunnerContext runnerContext,
     IMigrationProcessor processor, IVersionTableMetaData versionTableMetaData = null,
     IMigrationRunnerConventions migrationRunnerConventions = null)
     : this(assemblies, runnerContext, processor, versionTableMetaData, migrationRunnerConventions, conventionSet : null)
 {
 }
Пример #6
0
 public MigrationRunner(
     [NotNull] IAssemblyCollection assemblies, [NotNull] IRunnerContext runnerContext,
     [NotNull] IMigrationProcessor processor, IVersionTableMetaData versionTableMetaData = null,
     [CanBeNull] IMigrationRunnerConventions migrationRunnerConventions = null)
     : this(assemblies, runnerContext, processor, versionTableMetaData, migrationRunnerConventions, conventionSet : null, migrationScopeHandler : null)
 {
 }
Пример #7
0
        internal ConnectionlessVersionLoader(
            IMigrationRunner runner,
            IAssemblyCollection assemblies,
            IConventionSet conventionSet,
            IMigrationRunnerConventions conventions,
            IRunnerContext runnerContext,
            IVersionTableMetaData versionTableMetaData = null)
        {
            _migrationInformationLoader = runner.MigrationLoader;
            _processor = runner.Processor;

            Runner        = runner;
            Assemblies    = assemblies;
            Conventions   = conventions;
            StartVersion  = runnerContext.StartVersion;
            TargetVersion = runnerContext.Version;

            VersionInfo          = new VersionInfo();
            VersionTableMetaData = versionTableMetaData ??
                                   (IVersionTableMetaData)Activator.CreateInstance(assemblies.Assemblies.GetVersionTableMetaDataType(
                                                                                       Conventions, runnerContext));
            VersionMigration            = new VersionMigration(VersionTableMetaData);
            VersionSchemaMigration      = new VersionSchemaMigration(VersionTableMetaData);
            VersionUniqueMigration      = new VersionUniqueMigration(VersionTableMetaData);
            VersionDescriptionMigration = new VersionDescriptionMigration(VersionTableMetaData);

            if (VersionTableMetaData is DefaultVersionTableMetaData defaultMetaData)
            {
                conventionSet.SchemaConvention?.Apply(defaultMetaData);
            }

            LoadVersionInfo();
        }
        public static void DropSchema(this IMigrationRunner migrationRunner, IVersionTableMetaData versionTableMetaData)
        {
            var schemaName = versionTableMetaData.SchemaName;

            migrationRunner.Processor.Process(new DeleteSchemaExpression {
                SchemaName = schemaName
            });
        }
Пример #9
0
        public ValidatingVersionLoader(
            IProcessorAccessor processorAccessor, IConventionSet conventionSet, IMigrationRunnerConventions conventions,
            IVersionTableMetaData versionTableMetaData, IMigrationRunner runner
            ) : base(processorAccessor, conventionSet, conventions, versionTableMetaData, runner)
        {
            m_processor = processorAccessor.Processor;

            LoadVersionInfo();
        }
 /// <summary>
 /// Sets the version table meta data
 /// </summary>
 /// <param name="builder">The runner builder</param>
 /// <param name="versionTableMetaData">The version table meta data</param>
 /// <returns>The runner builder</returns>
 public static IMigrationRunnerBuilder WithVersionTable(
     this IMigrationRunnerBuilder builder,
     IVersionTableMetaData versionTableMetaData)
 {
     builder.Services
     .AddScoped <IVersionTableMetaDataAccessor>(
         _ => new PassThroughVersionTableMetaDataAccessor(versionTableMetaData));
     return(builder);
 }
 public MigrationVersionRunner(IMigrationConventions conventions, IMigrationProcessor processor, IMigrationLoader loader, Assembly assembly, string @namespace)
 {
     _migrationConventions = conventions;
     _migrationProcessor = processor;
     _migrationAssembly = assembly;
     _migrationLoader = loader;
     _namespace = @namespace;
     _migrationRunner = new MigrationRunner(conventions, processor);
     _versionTableMetaData = loader.GetVersionTableMetaData(assembly);
     _versionMigration = new VersionMigration(_versionTableMetaData);
 }
 public MigrationVersionRunner(IMigrationConventions conventions, IMigrationProcessor processor, IMigrationLoader loader, Assembly assembly, string @namespace, IAnnouncer announcer, string profile)
 {
     _migrationConventions = conventions;
     _migrationProcessor = processor;
     _migrationAssembly = assembly;
     _migrationLoader = loader;
     _profile = profile;
     _namespace = @namespace;
     _announcer = announcer;
     _migrationRunner = new MigrationRunner(conventions, processor, announcer, new StopWatch());
     _versionTableMetaData = loader.GetVersionTableMetaData(assembly);
     _versionMigration = new VersionMigration(_versionTableMetaData);
 }
Пример #13
0
 public ExtendedOracleManagedProcessor(
     OracleManagedDbFactory factory,
     OracleGenerator generator,
     ILogger <ExtendedOracleManagedProcessor> logger,
     IOptionsSnapshot <ProcessorOptions> options,
     IConnectionStringAccessor connectionStringAccessor,
     IExtendedMigrationProcessor <ExtendedOracleProcessorBase> extendedMigrationProcessor,
     ICustomMigrationProcessor <OracleProcessor> customMigrationProcessor = null,
     IVersionTableMetaData versionTableMetaData = null
     )
     : base(factory, generator, logger, options, connectionStringAccessor)
 {
     ExtendedMigrationProcessor = extendedMigrationProcessor;
     VersionTableMetaData       = versionTableMetaData;
     Initialize(customMigrationProcessor);
 }
Пример #14
0
        public MigrationRunner(
            [NotNull] IAssemblyCollection assemblies, [NotNull] IRunnerContext runnerContext,
            [NotNull] IMigrationProcessor processor, [CanBeNull] IVersionTableMetaData versionTableMetaData,
            [CanBeNull] IMigrationRunnerConventions migrationRunnerConventions, [CanBeNull] IConventionSet conventionSet,
            [CanBeNull] IMigrationScopeManager migrationScopeHandler = null)
        {
            _migrationAssemblies = assemblies;
            _logger           = new AnnouncerFluentMigratorLogger(runnerContext.Announcer);
            _stopWatch        = runnerContext.StopWatch;
            _processorOptions = new ProcessorOptions(runnerContext);

            Processor     = processor;
            RunnerContext = runnerContext;

            var migrationRunnerConventionsAccessor = new AssemblySourceMigrationRunnerConventionsAccessor(
                serviceProvider: null,
                new AssemblySource(() => assemblies));

            Conventions = migrationRunnerConventions ?? migrationRunnerConventionsAccessor.MigrationRunnerConventions;

            var convSet = conventionSet ?? new DefaultConventionSet(runnerContext);

            _migrationScopeManager = migrationScopeHandler ?? new MigrationScopeHandler(Processor);
            _migrationValidator    = new MigrationValidator(_logger, convSet);
            MigrationLoader        = new DefaultMigrationInformationLoader(Conventions, _migrationAssemblies,
                                                                           runnerContext.Namespace,
                                                                           runnerContext.NestedNamespaces, runnerContext.Tags);
            ProfileLoader     = new ProfileLoader(runnerContext, this, Conventions);
            MaintenanceLoader = new MaintenanceLoader(_migrationAssemblies, runnerContext.Tags, Conventions);

            if (runnerContext.NoConnection)
            {
                _versionLoader = new Lazy <IVersionLoader>(
                    () => new ConnectionlessVersionLoader(
                        this,
                        _migrationAssemblies,
                        convSet,
                        Conventions,
                        runnerContext,
                        versionTableMetaData));
            }
            else
            {
                _versionLoader = new Lazy <IVersionLoader>(
                    () => new VersionLoader(this, _migrationAssemblies, convSet, Conventions, runnerContext, versionTableMetaData));
            }
        }
Пример #15
0
        public VersionLoader(IMigrationRunner runner, IAssemblyCollection assemblies,
                             IConventionSet conventionSet,
                             IMigrationRunnerConventions conventions,
                             IVersionTableMetaData versionTableMetaData = null)
        {
            _conventionSet = conventionSet;
            Runner         = runner;
            Processor      = runner.Processor;
            Assemblies     = assemblies;

            Conventions                 = conventions;
            VersionTableMetaData        = versionTableMetaData ?? GetVersionTableMetaData();
            VersionMigration            = new VersionMigration(VersionTableMetaData);
            VersionSchemaMigration      = new VersionSchemaMigration(VersionTableMetaData);
            VersionUniqueMigration      = new VersionUniqueMigration(VersionTableMetaData);
            VersionDescriptionMigration = new VersionDescriptionMigration(VersionTableMetaData);

            LoadVersionInfo();
        }
Пример #16
0
        public VersionLoader(
            [NotNull] IProcessorAccessor processorAccessor,
            [NotNull] IConventionSet conventionSet,
            [NotNull] IMigrationRunnerConventions conventions,
            [NotNull] IVersionTableMetaData versionTableMetaData,
            [NotNull] IMigrationRunner runner)
        {
            _conventionSet = conventionSet;
            _processor     = processorAccessor.Processor;

            Runner = runner;

            Conventions                 = conventions;
            VersionTableMetaData        = versionTableMetaData;
            VersionMigration            = new VersionMigration(VersionTableMetaData);
            VersionSchemaMigration      = new VersionSchemaMigration(VersionTableMetaData);
            VersionUniqueMigration      = new VersionUniqueMigration(VersionTableMetaData);
            VersionDescriptionMigration = new VersionDescriptionMigration(VersionTableMetaData);

            LoadVersionInfo();
        }
Пример #17
0
        public ConnectionlessVersionLoader(
            [NotNull] IProcessorAccessor processorAccessor,
            [NotNull] IMigrationRunnerConventions conventions,
            [NotNull] IOptions <RunnerOptions> runnerOptions,
            [NotNull] IMigrationInformationLoader migrationInformationLoader,
            [NotNull] IVersionTableMetaData versionTableMetaData)
        {
            _processor = processorAccessor.Processor;
            _migrationInformationLoader = migrationInformationLoader;
            Conventions   = conventions;
            StartVersion  = runnerOptions.Value.StartVersion;
            TargetVersion = runnerOptions.Value.Version;

            VersionInfo                 = new VersionInfo();
            VersionTableMetaData        = versionTableMetaData;
            VersionMigration            = new VersionMigration(VersionTableMetaData);
            VersionSchemaMigration      = new VersionSchemaMigration(VersionTableMetaData);
            VersionUniqueMigration      = new VersionUniqueMigration(VersionTableMetaData);
            VersionDescriptionMigration = new VersionDescriptionMigration(VersionTableMetaData);

            LoadVersionInfo();
        }
Пример #18
0
        internal VersionLoader(IMigrationRunner runner, IAssemblyCollection assemblies,
                               [NotNull] IConventionSet conventionSet,
                               [NotNull] IMigrationRunnerConventions conventions,
                               [NotNull] IRunnerContext runnerContext,
                               [CanBeNull] IVersionTableMetaData versionTableMetaData = null)
        {
            _conventionSet = conventionSet;
            _processor     = runner.Processor;

            Runner     = runner;
            Assemblies = assemblies;

            Conventions                 = conventions;
            VersionTableMetaData        = versionTableMetaData ?? CreateVersionTableMetaData(runnerContext);
            VersionMigration            = new VersionMigration(VersionTableMetaData);
            VersionSchemaMigration      = new VersionSchemaMigration(VersionTableMetaData);
            VersionUniqueMigration      = new VersionUniqueMigration(VersionTableMetaData);
            VersionDescriptionMigration = new VersionDescriptionMigration(VersionTableMetaData);

            VersionTableMetaData.ApplicationContext = runnerContext.ApplicationContext;

            LoadVersionInfo();
        }
Пример #19
0
        public MigrationRunner(
            IAssemblyCollection assemblies, IRunnerContext runnerContext,
            IMigrationProcessor processor, IVersionTableMetaData versionTableMetaData,
            IMigrationRunnerConventions migrationRunnerConventions, IConventionSet conventionSet)
        {
            _migrationAssemblies = assemblies;
            _announcer           = runnerContext.Announcer;
            Processor            = processor;
            _stopWatch           = runnerContext.StopWatch;
            RunnerContext        = runnerContext;

            SilentlyFail     = false;
            CaughtExceptions = null;

            Conventions = migrationRunnerConventions ?? GetMigrationRunnerConventions(runnerContext);

            var convSet = conventionSet ?? new DefaultConventionSet(runnerContext);

            _migrationScopeHandler = new MigrationScopeHandler(Processor);
            _migrationValidator    = new MigrationValidator(_announcer, convSet);
            MigrationLoader        = new DefaultMigrationInformationLoader(Conventions, _migrationAssemblies,
                                                                           runnerContext.Namespace,
                                                                           runnerContext.NestedNamespaces, runnerContext.Tags);
            ProfileLoader     = new ProfileLoader(runnerContext, this, Conventions);
            MaintenanceLoader = new MaintenanceLoader(_migrationAssemblies, runnerContext.Tags, Conventions);

            if (runnerContext.NoConnection)
            {
                VersionLoader = new ConnectionlessVersionLoader(
                    this, _migrationAssemblies, convSet, Conventions,
                    runnerContext.StartVersion, runnerContext.Version, versionTableMetaData);
            }
            else
            {
                VersionLoader = new VersionLoader(this, _migrationAssemblies, convSet, Conventions, versionTableMetaData);
            }
        }
Пример #20
0
 public VersionUniqueMigration(IVersionTableMetaData versionTableMeta)
 {
     this.versionTableMeta = versionTableMeta;
 }
Пример #21
0
 public VersionResourceMigration(IVersionTableMetaData versionTableMeta)
 {
     _versionTableMeta = versionTableMeta;
 }
Пример #22
0
 public VersionDescriptionMigration(IVersionTableMetaData versionTableMeta)
 {
     this.versionTableMeta = versionTableMeta;
 }
Пример #23
0
        public MigrationRunner(Assembly assembly, IRunnerContext runnerContext, IMigrationProcessor processor, IVersionTableMetaData versionTableMetaData = null)
        {
            _migrationAssembly    = assembly;
            _announcer            = runnerContext.Announcer;
            Processor             = processor;
            _stopWatch            = runnerContext.StopWatch;
            ApplicationContext    = runnerContext.ApplicationContext;
            TransactionPerSession = runnerContext.TransactionPerSession;

            SilentlyFail     = false;
            CaughtExceptions = null;

            Conventions = new MigrationConventions();
            if (!string.IsNullOrEmpty(runnerContext.WorkingDirectory))
            {
                Conventions.GetWorkingDirectory = () => runnerContext.WorkingDirectory;
            }

            _migrationScopeHandler = new MigrationScopeHandler(Processor);
            _migrationValidator    = new MigrationValidator(_announcer, Conventions);
            VersionLoader          = new VersionLoader(this, _migrationAssembly, Conventions, versionTableMetaData);
            MigrationLoader        = new DefaultMigrationInformationLoader(Conventions, _migrationAssembly, runnerContext.Namespace, runnerContext.NestedNamespaces, runnerContext.Tags);
            ProfileLoader          = new ProfileLoader(runnerContext, this, Conventions);
        }
Пример #24
0
        public VersionLoader(IMigrationRunner runner, Assembly assembly, IMigrationConventions conventions, IVersionTableMetaData versionTableMetaData = null)
        {
            Runner    = runner;
            Processor = runner.Processor;
            Assembly  = assembly;

            Conventions                 = conventions;
            VersionTableMetaData        = versionTableMetaData ?? GetVersionTableMetaData();
            VersionMigration            = new VersionMigration(VersionTableMetaData);
            VersionSchemaMigration      = new VersionSchemaMigration(VersionTableMetaData);
            VersionUniqueMigration      = new VersionUniqueMigration(VersionTableMetaData);
            VersionDescriptionMigration = new VersionDescriptionMigration(VersionTableMetaData);

            LoadVersionInfo();
        }
Пример #25
0
 public VersionUniqueMigration(IVersionTableMetaData versionTableMeta)
 {
     this.versionTableMeta = versionTableMeta;
 }
Пример #26
0
 public ExtendedVersionMigration(IVersionTableMetaData versionTableMetaData)
 {
     _versionTableMetaData = versionTableMetaData;
 }
Пример #27
0
 public VersionSchemaMigration(IVersionTableMetaData versionTableMetaData)
 {
     _versionTableMetaData = versionTableMetaData;
 }
Пример #28
0
 public VersionDescriptionMigration(IVersionTableMetaData versionTableMeta)
 {
     this.versionTableMeta = versionTableMeta;
 }
Пример #29
0
 public VersionGroupMigration(IVersionTableMetaData versionTableMetaData)
 {
     _versionTableMetaData = versionTableMetaData;
 }
 public VersionMetadataMigration(IVersionTableMetaData versionTableMetaData)
 {
     this.versionTableMetaData = versionTableMetaData;
 }
Пример #31
0
 public VersionSchemaMigration(IVersionTableMetaData versionTableMetaData)
 {
     _versionTableMetaData = versionTableMetaData;
 }
Пример #32
0
 /// <summary>
 /// Initializes a new instance of the <see cref="PassThroughVersionTableMetaDataAccessor"/> class.
 /// </summary>
 /// <param name="versionTableMetaData"></param>
 public PassThroughVersionTableMetaDataAccessor(IVersionTableMetaData versionTableMetaData)
 {
     VersionTableMetaData = versionTableMetaData;
 }