public RuntimeContext(IDbConnection connection, IDbTransaction transaction, IDbCommandExecutor executor, IProviderMetadata providerMetadata, IMigrationStepMetadata stepMetadata) : base(providerMetadata, stepMetadata) { _connection = connection; _transaction = transaction; _executor = executor; }
private static IMigrationStep FakeMigrationStep(IMigrationStepMetadata metadata) { IMigrationStep step = A.Fake<IMigrationStep>(); A.CallTo(() => step.Metadata).Returns(metadata); A.CallTo(() => step.Report(A<IMigrationContext>._)).Returns(A.Fake<IMigrationReport>()); return step; }
public void Update(IMigrationStepMetadata metadata, IDbConnection connection, IDbTransaction transaction, IDbCommandExecutor commandExecutor) { foreach (IMigrationMetadata migrationMetadata in metadata.Migrations) { Debug.Assert(migrationMetadata.ModuleName == metadata.ModuleName, "The migration module name must correspond to the module name of the scheduled migration step."); if (metadata.Direction == MigrationDirection.Up) { _history.Insert(migrationMetadata.Timestamp, metadata.ModuleName, migrationMetadata.Tag); } else { Debug.Assert(metadata.Direction == MigrationDirection.Down); _history.Delete(migrationMetadata.Timestamp, metadata.ModuleName); } } StoreChanges(connection, transaction, commandExecutor); }
public void TestCases(IEnumerable<IMigrationMetadata> importedMigrations, IEnumerable<IAggregateMigrationMetadata> importedAggregateMigrations, IEnumerable<IMigrationMetadata> executedMigrations, IMigrationStepMetadata[] expectedSteps) { var importer = A.Fake<IMigrationImporter>(); var versioning = A.Fake<IVersioning>(); IReadOnlyCollection<ImportedMigration> ignoredMigrations; IReadOnlyCollection<ImportedAggregateMigration> ignoredAggregateMigrations; A.CallTo(() => importer.ImportAll(out ignoredMigrations, out ignoredAggregateMigrations)).AssignsOutAndRefParameters( importedMigrations.Select(m => new ImportedMigration(A.Fake<IMigration>(), m, false)).ToList(), importedAggregateMigrations.Select(m => new ImportedAggregateMigration(A.Fake<IMigration>(), m)).ToList()); A.CallTo(() => versioning.ExecutedMigrations).Returns(executedMigrations); MigrationBatchPreparer preparer = new MigrationBatchPreparer(importer, versioning, A.Fake<IRuntimeConfiguration>()); var batch = preparer.Prepare(long.MaxValue, new MigrationOptions()); Assert.AreEqual(expectedSteps.Length, batch.Steps.Count, "Unexpected count of steps."); for (int i = 0; i < batch.Steps.Count; i++) { CollectionAssert.AreEqual(expectedSteps[i].Migrations.Select(GetMigrationDescription).ToArray(), batch.Steps[i].Migrations.Select(GetMigrationDescription).ToArray(), "Unexpected migrations in step {0}.", i); } }
public void Update(IMigrationStepMetadata metadata, IDbConnection connection, IDbTransaction transaction, IDbCommandExecutor commandExecutor) { PersistedVersioning versioning = GetPersistedVersioning(connection, transaction, commandExecutor); versioning.Update(metadata, connection, transaction, commandExecutor); }
/// <summary> /// Initializes a new instance. /// </summary> public MigrationEventArgs(IMigrationStepMetadata metadata) { _metadata = metadata; }
public BootstrapMigrationStep(IMigration migration, IMigrationStepMetadata stepMetadata) { _migration = migration; _stepMetadata = stepMetadata; }
public MigrationStep(IMigration migration, IMigrationStepMetadata metadata) : base(migration, metadata) { }
public void Update(IMigrationStepMetadata metadata, IDbConnection connection, IDbTransaction transaction, IDbCommandExecutor commandExecutor) { // nothing to do }
public MigrationContext(IProviderMetadata providerMetadata, IMigrationStepMetadata stepMetadata) { _providerMetadata = providerMetadata; _stepMetadata = stepMetadata; }