public static void Initialize(IMongoClient client, IMongoMigrationSettings settings = null, IContainerAdapter containerAdapter = null)
        {
            var componentRegistry = new ComponentRegistry(settings ?? new MongoMigrationSettings(), containerAdapter);
            componentRegistry.RegisterComponents(client);

            Initialize(componentRegistry);
        }
Exemple #2
0
        private static void RegisterDefaults(IServiceCollection services, IMongoMigrationSettings settings)
        {
            services.AddSingleton(settings);

            services.AddSingleton <IContainerProvider, ServiceProvider>();
            services.AddSingleton <IMigrationLocator, TypeMigrationDependencyLocator>();
            services.AddSingleton <IMigrationLocator, TypeMigrationLocator>();
            services.AddSingleton <IAdvancedMigrationLocator, AdvancedTypeMigrationLocator>();
            services.AddSingleton <ICollectionLocator, CollectionLocator>();
            services.AddSingleton <IRuntimeVersionLocator, RuntimeVersionLocator>();
            services.AddSingleton <IStartUpVersionLocator, StartUpVersionLocator>();

            services.AddTransient <IVersionService, VersionService>();
            services.AddTransient <IMigrationInterceptorFactory, MigrationInterceptorFactory>();
            services.AddTransient <DocumentVersionSerializer, DocumentVersionSerializer>();

            services.AddTransient <ICollectionMigrationRunner, CollectionMigrationRunner>();
            services.AddTransient <IDatabaseMigrationRunner, DatabaseMigrationRunner>();
            services.AddTransient <IMigrationRunner, MigrationRunner>();
            services.AddTransient <IAdvancedMigrationRunner, AdvancedMigrationRunner>();
            services.AddTransient <MigrationInterceptorProvider, MigrationInterceptorProvider>();

            services.AddTransient <IMongoMigration, MongoMigration>();
            services.AddTransient <IStartupFilter, MongoMigrationStartupFilter>();
        }
Exemple #3
0
        public static void AddMigration(
            this IServiceCollection services, IMongoMigrationSettings settings = null)
        {
            RegisterDefaults(services, settings ?? new MongoMigrationSettings());

            services.AddScoped <IMigrationService, MigrationService>();
        }
        public CollectionMigrationRunner(
            IMongoMigrationSettings settings,
            ICollectionLocator collectionLocator,
            IVersionService versionService,
            IMigrationRunner migrationRunner)
            : this(
                collectionLocator,
                versionService,
                migrationRunner)
        {
            if (settings.ConnectionString == null && settings.Database == null || settings.ClientSettings == null)
            {
                throw new MongoMigrationNoMongoClientException();
            }

            if (settings.ClientSettings != null)
            {
                _client = new MongoClient(settings.ClientSettings);
            }
            else
            {
                _client = new MongoClient(settings.ConnectionString);
            }

            _databaseName = settings.Database;
        }
 public DatabaseVersionService(
     IDatabaseTypeMigrationDependencyLocator migrationLocator,
     IMongoMigrationSettings mongoMigrationSettings)
 {
     _migrationLocator       = migrationLocator;
     _mongoMigrationSettings = mongoMigrationSettings;
 }
Exemple #6
0
 public ComponentRegistry(IMongoMigrationSettings settings, IContainerAdapter containerAdapter = null)
 {
     _settings = settings;
     
     if(containerAdapter == null)
         containerAdapter = new LightInjectAdapter(new ServiceContainer());
     
     _containerAdapter = containerAdapter;
 }
 public VersionService(
     IMigrationLocator migrationLocator,
     IRuntimeVersionLocator runtimeVersionLocator,
     IStartUpVersionLocator startUpVersionLocator,
     IMongoMigrationSettings mongoMigrationSettings)
 {
     _migrationLocator      = migrationLocator;
     _runtimeVersionLocator = runtimeVersionLocator;
     _startUpVersionLocator = startUpVersionLocator;
     _versionFieldName      = string.IsNullOrWhiteSpace(mongoMigrationSettings.VersionFieldName)
         ? VERSION_FIELD_NAME
         : mongoMigrationSettings.VersionFieldName;
 }
Exemple #8
0
        public StartUpDatabaseMigrationRunner(
            IMongoClient client,
            IMongoMigrationSettings settings,
            ICollectionLocator collectionLocator,
            IDatabaseMigrationRunner migrationRunner)
            : this(
                collectionLocator,
                migrationRunner)
        {
            _client = client;
            if (settings.ConnectionString == null && settings.Database == null)
            {
                return;
            }

            _client       = new MongoClient(settings.ConnectionString);
            _databaseName = settings.Database;
        }