public void CanGetVersionMetadata() { var version = new VersionInfo { Version = 201301150001 }; version.Metadata["Id"] = 1; appliedVersions.AddAppliedMigration(version); appliedVersions.Latest().Metadata["Id"].ShouldBe(1); }
public ConnectionlessVersionLoader(IMigrationRunner runner, IAssemblyCollection assemblies, IMigrationConventions conventions, long startVersion, long targetVersion) { Runner = runner; Assemblies = assemblies; Conventions = conventions; StartVersion = startVersion; TargetVersion = targetVersion; Processor = Runner.Processor; VersionInfo = new VersionInfo(); VersionTableMetaData = GetVersionTableMetaData(); VersionMigration = new VersionMigration(VersionTableMetaData); VersionSchemaMigration = new VersionSchemaMigration(VersionTableMetaData); VersionUniqueMigration = new VersionUniqueMigration(VersionTableMetaData); VersionDescriptionMigration = new VersionDescriptionMigration(VersionTableMetaData); LoadVersionInfo(); }
private void LoadVersionInfo() { if (_migrationProcessor.Options.PreviewOnly) { if (!_alreadyCreatedVersionTable) { new MigrationRunner(_migrationConventions, _migrationProcessor, _announcer, new StopWatch()) .Up(_versionMigration); _versionInfo = new VersionInfo(); _alreadyCreatedVersionTable = true; } else _versionInfo = new VersionInfo(); return; } if (!_migrationProcessor.TableExists(_versionTableMetaData.TableName)) { var runner = new MigrationRunner(_migrationConventions, _migrationProcessor, _announcer, new StopWatch()); runner.Up(_versionMigration); _versionInfo = new VersionInfo(); return; } var dataSet = _migrationProcessor.ReadTableData(_versionTableMetaData.TableName); _versionInfo = new VersionInfo(); foreach (DataRow row in dataSet.Tables[0].Rows) { _versionInfo.AddAppliedMigration(long.Parse(row[0].ToString())); } }
public void RollbackToVersion(long version) { // Get the migrations between current and the to version foreach (var migrationNumber in VersionInfo.AppliedMigrations()) { if (version < migrationNumber || version == 0) { ApplyMigrationDown(migrationNumber); } } if (version == 0) RemoveVersionTable(); _migrationProcessor.CommitTransaction(); _versionInfo = null; }
public void Rollback(int steps) { foreach (var migrationNumber in VersionInfo.AppliedMigrations().Take(steps)) { ApplyMigrationDown(migrationNumber); } _migrationProcessor.CommitTransaction(); _versionInfo = null; }
public void MigrateUp(long version) { if (!_alreadyOutputPreviewOnlyModeWarning && _migrationProcessor.Options.PreviewOnly) { _announcer.Heading("PREVIEW-ONLY MODE"); _alreadyOutputPreviewOnlyModeWarning = true; } ApplyMigrationUp(version); _versionInfo = null; }
public void MigrateUp() { try { foreach (var version in Migrations.Keys) { MigrateUp(version); } _migrationProcessor.CommitTransaction(); _versionInfo = null; } catch (Exception) { _migrationProcessor.RollbackTransaction(); throw; } }
public void MigrateDown(long version) { try { ApplyMigrationDown(version); _migrationProcessor.CommitTransaction(); _versionInfo = null; } catch (Exception) { _migrationProcessor.RollbackTransaction(); throw; } }
public void MigrateDown(long version) { migrateDown(version); _versionInfo = null; }
public void SetUp() { _versionInfo = new VersionInfo(); }
private void loadVersionInfo() { if (!_migrationProcessor.TableExists(_versionTableMetaData.TableName)) { var runner = new MigrationRunner(_migrationConventions, _migrationProcessor); runner.Up(_versionMigration); } var dataSet = _migrationProcessor.ReadTableData(_versionTableMetaData.TableName); _versionInfo = new VersionInfo(); foreach (DataRow row in dataSet.Tables[0].Rows) { _versionInfo.AddAppliedMigration(long.Parse(row[0].ToString())); } }
public void MigrateUp(long version) { ApplyMigrationUp(version); _versionInfo = null; }
public void Rollback(int steps) { foreach (var migrationNumber in VersionInfo.AppliedMigrations().Take(steps)) { migrateDown(migrationNumber); } _versionInfo = null; }
public void MigrateUp(long version) { migrateUp(version); _versionInfo = null; }
public void MigrateUp() { foreach (var version in Migrations.Keys) { MigrateUp(version); } _versionInfo = null; }
public void LoadVersionInfo() { if ( Processor.Options.PreviewOnly ) { if ( !AlreadyCreatedVersionTable ) { Runner.Up( VersionMigration ); VersionInfo = new VersionInfo(); } else VersionInfo = new VersionInfo(); return; } if ( !AlreadyCreatedVersionTable ) { Runner.Up( VersionMigration ); _versionInfo = new VersionInfo(); return; } var dataSet = Processor.ReadTableData( VersionTableMetaData.TableName ); _versionInfo = new VersionInfo(); foreach ( DataRow row in dataSet.Tables[ 0 ].Rows ) { _versionInfo.AddAppliedMigration( long.Parse( row[ 0 ].ToString() ) ); } }
public void LoadVersionInfo() { if (!AlreadyCreatedVersionSchema) Runner.Up(VersionSchemaMigration); bool isNewTable = false; if ( !AlreadyCreatedVersionTable ) { Runner.Up( VersionMigration ); isNewTable = true; } if (Processor.Options.StoreExtendedData && !AlreadyCreatedExtendedVersionTable) { Runner.Up(ExtendedVersionMigration); } if (isNewTable) { _versionInfo = new VersionInfo(); return; } var dataSet = Processor.ReadTableData(VersionTableMetaData.SchemaName, VersionTableMetaData.TableName ); _versionInfo = new VersionInfo(); foreach ( DataRow row in dataSet.Tables[ 0 ].Rows ) { var migrationVersion = long.Parse(row[0].ToString()); _versionInfo.AddAppliedMigration( migrationVersion ); if ((Processor.Options.StoreExtendedData) && (VersionTableMetaData is IExtendedVersionTableMetadata)) { var extendedTableMetadata = (IExtendedVersionTableMetadata) VersionTableMetaData; _versionInfo.AddAppliedMigrationInfo( migrationVersion, row[extendedTableMetadata.DescriptionColumnName].ToString(), row[extendedTableMetadata.DateAppliedColumnName] is DateTime ? (DateTime) row[extendedTableMetadata.DateAppliedColumnName] : new DateTime(), row[extendedTableMetadata.ElapsedTimeColumnName] is double ? (double) row[extendedTableMetadata.ElapsedTimeColumnName] : 0d); } } }
public NullVersionLoader() { VersionInfo = new VersionInfo(); }