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); }
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>(); }
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; }
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; }
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; }