/// <summary> /// Creates a new instance of MigrationRunner /// </summary> /// <param name="url">MongoDb connection string</param> /// <param name="migrationAssembly">Assembly with migrations</param> public MigrationRunner(MongoUrl url, string migrationAssembly) { _dbMigrations = new DatabaseMigrations(url); _locator = new MigrationLocator(migrationAssembly, _dbMigrations.GetDatabase()); _migrationAssembly = migrationAssembly; }
public MigrationExecutor(IMigrationLocator migrationLocator, IMigrationStore migrationStore, ILogger <MigrationExecutor> logger, IServiceProvider serviceProvider) { this.migrationLocator = migrationLocator ?? throw new ArgumentNullException(nameof(migrationLocator)); this.migrationStore = migrationStore ?? throw new ArgumentNullException(nameof(migrationStore)); this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); this.serviceProvider = serviceProvider ?? throw new ArgumentNullException(nameof(serviceProvider)); }
/// <summary> /// Use the migration locator to derive what migrations should be executed. /// Compare the migrations to be executed against the migrations applied to the repository. /// Synchronously apply the migrations that were not applied to the repository to migrate in ascending order. /// </summary> /// <param name="migrationLocator">The migration locator</param> /// <param name="repository">The migration repository</param> /// <param name="repositoryToMigrate">The repository to apply the migrations to.</param> public static void UpdateToLatest( IMigrationLocator migrationLocator, IRepository repository, IRepositoryToMigrate repositoryToMigrate) { MigrationSession migrationSession; if (MigrationSessionHelpers.TryStartMigrationSession( repository.AddMigrationSession, MigrationSessionHelpers.MigrationSessionIsAvailableToExecute(repository.GetMigrationSessions()), MigrationHelpers.GetMigrationsToBeAppliedAscending( MigrationHelpers.GetMaxVersionOrDefault(repository.GetMigrations()), migrationLocator.GetAllMigrations()), out migrationSession)) { try { UpdateTo( repositoryToMigrate, repository, migrationSession); MigrationSessionHelpers.CompleteMigrationSession( repository.UpsertMigrationSession, migrationSession); } catch (MigrationException migrationException) { MigrationSessionHelpers.FailMigrationSession( repository.UpsertMigrationSession, migrationSession, migrationException); throw migrationException; } } }
public Application(IMigrationLocator migrationLocator, IVersionLocator versionLocator, IMigrationStrategy migrationStrategy) { _migrationLocator = migrationLocator; _versionLocator = versionLocator; _migrationStrategy = migrationStrategy; }
/// <summary> /// Creates a new instance of <seealso cref="MigrationRunner" /> /// </summary> /// <param name="connectionString">The Mongo connection string in form of mongodb://host:port/database</param> /// <param name="migrationAssembly">The target assembly containing migrations.</param> /// <param name="logger">Logger for logging</param> public MigrationRunner(string connectionString, Assembly migrationAssembly, ILogger logger = null) { var url = MongoUrl.Create(connectionString); _dbMigrations = new DatabaseMigrations(url); _locator = new MigrationLocator(migrationAssembly, _dbMigrations.GetDatabase(), new MigrationFactory()); _logger = logger; }
/// <summary> /// Use the migration locator to derive what migrations should be executed. /// Compare the migrations to be executed against the migrations applied to the repository. /// Synchronously apply the migrations that were not applied to the repository in ascending order. /// </summary> /// <param name="migrationLocator">The migration locator</param> /// <param name="repository">The migration repository and the repository to apply the migrations to.</param> public static void UpdateToLatest( IMigrationLocator migrationLocator, IRepository repository) { UpdateToLatest( migrationLocator, repository, repository as IRepositoryToMigrate); }
public MongoMigration(IMigrationLocator migrationLocator, IRuntimeVersionLocator runtimeVersionLocator, ICollectionLocator collectionLocator, IStartUpVersionLocator startUpVersionLocator, IMigrationService migrationService) { _migrationLocator = migrationLocator; _runtimeVersionLocator = runtimeVersionLocator; _collectionLocator = collectionLocator; _startUpVersionLocator = startUpVersionLocator; _migrationService = migrationService; }
public VersionService( IMigrationLocator migrationLocator, IRuntimeVersionLocator runtimeVersionLocator, IStartUpVersionLocator startUpVersionLocator, IOptions <MongoMigrationSettings> mongoMigrationSettings) { _migrationLocator = migrationLocator; _runtimeVersionLocator = runtimeVersionLocator; _startUpVersionLocator = startUpVersionLocator; _versionFieldName = string.IsNullOrWhiteSpace(mongoMigrationSettings.Value.VersionFieldName) ? VERSION_FIELD_NAME : mongoMigrationSettings.Value.VersionFieldName; }
public DocumentVersionService( IMigrationLocator <IDocumentMigration> migrationLocator, IRuntimeVersionLocator runtimeVersionLocator, IStartUpVersionLocator startUpVersionLocator, IMongoMigrationSettings mongoMigrationSettings) { _migrationLocator = migrationLocator; _runtimeVersionLocator = runtimeVersionLocator; _startUpVersionLocator = startUpVersionLocator; _versionFieldName = string.IsNullOrWhiteSpace(mongoMigrationSettings.VersionFieldName) ? VERSION_FIELD_NAME : mongoMigrationSettings.VersionFieldName; }
public MongoMigration( IMigrationLocator <IDocumentMigration> documentMigrationLocator, IDatabaseTypeMigrationDependencyLocator databaseMigrationLocator, IRuntimeVersionLocator runtimeVersionLocator, ICollectionLocator collectionLocator, IStartUpVersionLocator startUpVersionLocator, IMigrationService migrationService) { _documentMigrationLocator = documentMigrationLocator; _databaseMigrationLocator = databaseMigrationLocator; _runtimeVersionLocator = runtimeVersionLocator; _collectionLocator = collectionLocator; _startUpVersionLocator = startUpVersionLocator; _migrationService = migrationService; }
public MigrationRunner(IMigrationLocator migrationLocator, IVersionLocator versionLocator) { _migrationLocator = migrationLocator; _versionLocator = versionLocator; }
public DocumentMigrationRunner(IMigrationLocator <IDocumentMigration> migrationLocator, IDocumentVersionService documentVersionService) { _migrationLocator = migrationLocator; _documentVersionService = documentVersionService; }
public MigrationRunner(IMigrationLocator migrationLocator, IVersionService versionService) { _migrationLocator = migrationLocator; _versionService = versionService; }
/// <summary> /// Initializes a new instance of the <see cref="MigrationRunner" /> class. /// </summary> /// <param name="migrationTarget">The migration target.</param> /// <param name="database">The database.</param> /// <param name="migrationLocator">The migration locator.</param> /// <param name="databaseStatus">The database status.</param> /// <param name="logger">The logger.</param> public MigrationRunner(IMigrationTarget migrationTarget, IMongoDatabase database, IMigrationLocator migrationLocator, IDatabaseMigrationStatus databaseStatus, ILogger <MigrationRunner> logger) { _migrationTarget = migrationTarget ?? throw new ArgumentNullException(nameof(migrationTarget)); _database = database ?? throw new ArgumentNullException(nameof(database)); _databaseStatus = databaseStatus ?? throw new ArgumentNullException(nameof(databaseStatus)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); MigrationLocator = migrationLocator ?? throw new ArgumentNullException(nameof(migrationLocator)); }
/// <summary> /// Creates a new instance of MigrationRunner /// </summary> /// <param name="database">MongoDb IMongoDatabase instance</param> /// <param name="migrationAssembly">Assembly with migrations</param> /// <param name="factory">Factory responsible for instantiating migrations</param> public MigrationRunner(IMongoDatabase database, string migrationAssembly, IMigrationFactory factory = null) { _dbMigrations = new DatabaseMigrations(database); _locator = new MigrationLocator(migrationAssembly, database, factory ?? new MigrationFactory()); _migrationAssembly = migrationAssembly; }
public VersionService(IMigrationLocator migrationLocator, IRuntimeVersionLocator runtimeVersionLocator, IStartUpVersionLocator startUpVersionLocator) { _migrationLocator = migrationLocator; _runtimeVersionLocator = runtimeVersionLocator; _startUpVersionLocator = startUpVersionLocator; }
/// <summary> /// Creates a new instance of <seealso cref="MigrationRunner" /> /// </summary> /// <param name="url">A MongoDb connection string.</param> /// <param name="migrationAssembly">The target assembly containing migrations.</param> /// <param name="factory">The factory that's responsible for instantiating migrations.</param> public MigrationRunner(MongoUrl url, Assembly migrationAssembly, IMigrationFactory factory) { _dbMigrations = new DatabaseMigrations(url); _locator = new MigrationLocator(migrationAssembly, _dbMigrations.GetDatabase(), factory); }
/// <summary> /// Initializes a new instance of the <see cref="DatabaseMigrationStatus" /> class. /// </summary> /// <param name="mongoDatabase">The mongo database.</param> /// <param name="migrationLocator">The migration locator.</param> public DatabaseMigrationStatus(IMongoDatabase mongoDatabase, IMigrationLocator migrationLocator) { _database = mongoDatabase ?? throw new ArgumentNullException(nameof(mongoDatabase)); _migrationLocator = migrationLocator ?? throw new ArgumentNullException(nameof(migrationLocator)); }
public MigrationService(IMigrationLocator locator, IMigrationLogFactory logFactory, IMigrationFactory migrationFactory) { this.locator = locator; this.logFactory = logFactory; this.migrationFactory = migrationFactory; }
public Application(IMongoRegistrator mongoRegistrator, IMigrationLocator migrationLocator, IVersionLocator versionLocator) { _mongoRegistrator = mongoRegistrator; _migrationLocator = migrationLocator; _versionLocator = versionLocator; }