public void DetermineOperation() { executed = false; Version currentVersion = genericData.GetAuroraVersion(migratorName); //if there is no aurora version, this is likely an entirely new installation if (currentVersion == null) { Migrator defaultMigrator = GetHighestVersionMigratorThatCanProvideDefaultSetup(); currentVersion = defaultMigrator.Version; Migrator startMigrator = GetMigratorAfterVersion(defaultMigrator.Version); var latestMigrator = GetLatestVersionMigrator(); Migrator targetMigrator = defaultMigrator == latestMigrator ? null : latestMigrator; operationDescription = new MigrationOperationDescription(MigrationOperationTypes.CreateDefaultAndUpgradeToTarget, currentVersion, startMigrator != null?startMigrator.Version:null, targetMigrator != null?targetMigrator.Version:null); } else { Migrator startMigrator = GetMigratorAfterVersion(currentVersion); if (startMigrator != null) { Migrator targetMigrator = GetLatestVersionMigrator(); operationDescription = new MigrationOperationDescription(MigrationOperationTypes.UpgradeToTarget, currentVersion, startMigrator.Version, targetMigrator.Version); } else { operationDescription = new MigrationOperationDescription(MigrationOperationTypes.DoNothing, currentVersion); } } }
public void DetermineOperation() { executed = false; Version currentVersion = genericData.GetAuroraVersion(); //if there is no aurora version, this is likely an entirely new installation if (currentVersion == null) { Migrator defaultMigrator = GetHighestVersionMigratorThatCanProvideDefaultSetup(); currentVersion = defaultMigrator.Version; Migrator startMigrator = GetMigratorAfterVersion(defaultMigrator.Version); var latestMigrator = GetLatestVersionMigrator(); Migrator targetMigrator = defaultMigrator == latestMigrator ? null : latestMigrator; operationDescription = new MigrationOperationDescription(MigrationOperationTypes.CreateDefaultAndUpgradeToTarget, currentVersion, startMigrator!=null?startMigrator.Version:null, targetMigrator!=null?targetMigrator.Version:null); } else { Migrator startMigrator = GetMigratorAfterVersion(currentVersion); if (startMigrator != null) { Migrator targetMigrator = GetLatestVersionMigrator(); operationDescription = new MigrationOperationDescription(MigrationOperationTypes.UpgradeToTarget, currentVersion, startMigrator.Version, targetMigrator.Version); } else { operationDescription = new MigrationOperationDescription(MigrationOperationTypes.DoNothing, currentVersion); } } }