public MigrationRunner(IMongoDatabase database, IConfigurationRoot configuration = null) { Database = database; DatabaseStatus = new DatabaseMigrationStatus(this); MigrationLocator = new MigrationLocator(); _configuration = configuration; }
public MigrationRunner(string connectionString, string databaseName, string collectionName = DEFAULT_COLLECTION_NAME) { var client = new MongoClient(connectionString); Database = client.GetServer().GetDatabase(databaseName); DatabaseStatus = new DatabaseMigrationStatus(this); MigrationLocator = new MigrationLocator(); }
private MigrationRunner(MongoUrl url) { Url = url; Client = new MongoClient(url); Database = Client.GetDatabase(url.DatabaseName); DatabaseStatus = new DatabaseMigrationStatus(this); MigrationLocator = new MigrationLocator(); }
public virtual void UpdateTo(MigrationVersion updateToVersion) { var currentVersion = DatabaseStatus.GetLastAppliedMigration(); Console.WriteLine(new { Message = WhatWeAreUpdating(), currentVersion, updateToVersion, Database.DatabaseNamespace.DatabaseName }); var migrations = MigrationLocator.GetMigrationsAfter(currentVersion) .Where(m => m.Version <= updateToVersion); ApplyMigrations(migrations); }
public MigrationRunner( IMongoClient client, string databaseName, ILogger <MigrationRunner> logger = null) { _logger = logger ?? NullLogger <MigrationRunner> .Instance; Client = client; DatabaseName = databaseName; DatabaseStatus = new DatabaseMigrationStatus(this); MigrationLocator = new MigrationLocator(); }
public virtual void UpdateTo(MigrationVersion updateToVersion) { var currentVersion = DatabaseStatus.GetLastAppliedMigration(); Trace.TraceInformation("Updating migration \"{0}\" for version {1} to database \"{2}\".", currentVersion, updateToVersion, Database.Name); var migrations = MigrationLocator.GetMigrationsAfter(currentVersion) .Where(m => m.Version <= updateToVersion); ApplyMigrations(migrations); }
public virtual void UpdateTo(MigrationVersion updateToVersion) { var currentVersion = DatabaseStatus.GetLastAppliedMigration(); var migrations = MigrationLocator.GetMigrationsAfter(currentVersion).Where(m => m.Version <= updateToVersion).ToList(); if (migrations.Count == 0) { return; } // if the migration collection didn't exist, assume it's a new db that is already up to date. if (currentVersion == null) { foreach (var migration in migrations) { DatabaseStatus.MarkVersion(migration.Version); } return; } Trace.TraceInformation("Updating migration \"{0}\" for version {1} to database \"{2}\".", currentVersion, updateToVersion, Database.Name); ApplyMigrations(migrations); }
public virtual void UpdateToLatest() { Console.WriteLine(WhatWeAreUpdating() + " to latest..."); UpdateTo(MigrationLocator.LatestVersion()); }
public MigrationRunner(IMongoDatabase database) { Database = database; DatabaseStatus = new DatabaseMigrationStatus(this); MigrationLocator = new MigrationLocator(); }
public virtual Task UpdateToLatestAsync( CancellationToken cancellationToken = default(CancellationToken)) { _logger.LogInformation(WhatWeAreUpdating() + " to latest..."); return(UpdateToAsync(MigrationLocator.LatestVersion(), cancellationToken)); }
public virtual void UpdateToLatest() { Trace.TraceInformation("Updating {0} to latest...", Database.Name); UpdateTo(MigrationLocator.LatestVersion()); }