aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs')
-rw-r--r--Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs25
1 files changed, 13 insertions, 12 deletions
diff --git a/Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs b/Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs
index 2a94e95b0..836e66c9f 100644
--- a/Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs
+++ b/Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs
@@ -14,6 +14,7 @@ using Microsoft.Azure.Management.Sql.Fluent;
using Microsoft.Azure.Management.Sql.Fluent.Models;
using Tango.BL;
using Tango.BL.Entities;
+using Tango.BL.Enumerations;
using Tango.Core;
using Tango.Core.DB;
using Tango.Core.Helpers;
@@ -243,13 +244,13 @@ namespace Tango.AzureUtils.Database
}
}
- public async Task UpgradeFSEVersion(IWebAppBase sourceApp, IWebAppBase targetApp)
+ public async Task UpgradeFSEVersion(IWebAppBase sourceApp, IWebAppBase targetApp, FSEBuildVariants build)
{
- var latestFSEVersion = await GetLatestFSEVersion(sourceApp);
+ var latestFSEVersion = await GetLatestFSEVersion(sourceApp, build);
var targetDataSource = (await targetApp.GetMachineServiceSettingsAsync()).ToDataSource();
- OnProgress(AzureUtilsStage.Database, $"Adding FSE database entry for version '{latestFSEVersion.Version}'...");
+ OnProgress(AzureUtilsStage.Database, $"Adding {build} database entry for version '{latestFSEVersion.Version}'...");
using (var db = ObservablesContext.CreateDefault(targetDataSource))
{
@@ -352,9 +353,9 @@ namespace Tango.AzureUtils.Database
}
}
- public async Task<FseVersion> GetLatestFSEVersion(IWebAppBase app)
+ public async Task<FseVersion> GetLatestFSEVersion(IWebAppBase app, FSEBuildVariants build)
{
- OnProgress(AzureUtilsStage.Database, $"Getting latest FSE version on '{app.Name}'...");
+ OnProgress(AzureUtilsStage.Database, $"Getting latest {build} version on '{app.Name}'...");
MachineServiceSettings settings = null;
@@ -373,7 +374,7 @@ namespace Tango.AzureUtils.Database
using (var db = ObservablesContext.CreateDefault(dataSource))
{
- var versions = await db.FseVersions.ToListAsync();
+ var versions = await db.FseVersions.Where(x => x.BuildVariant == (int)build).ToListAsync();
var latest_version = versions.OrderByDescending(x => Version.Parse(x.Version)).FirstOrDefault();
return latest_version;
}
@@ -432,27 +433,27 @@ namespace Tango.AzureUtils.Database
}
}
- public async Task ValidateFSEDatabaseUpgrade(IWebAppBase sourceApp, IWebAppBase targetApp)
+ public async Task ValidateFSEDatabaseUpgrade(IWebAppBase sourceApp, IWebAppBase targetApp, FSEBuildVariants build)
{
- OnProgress(AzureUtilsStage.Validating, "Validating FSE database upgrade...");
+ OnProgress(AzureUtilsStage.Validating, $"Validating {build} database upgrade...");
var sourceSettings = await sourceApp.GetMachineServiceSettingsAsync();
var targetSettings = await targetApp.GetMachineServiceSettingsAsync();
- var latestSourceFSEVersion = await GetLatestFSEVersion(sourceApp);
+ var latestSourceFSEVersion = await GetLatestFSEVersion(sourceApp, build);
//Check if there is any source FSE version.
if (latestSourceFSEVersion == null)
{
- throw new ValidationException("Could not locate a FSE version entry on the source database.");
+ throw new ValidationException($"Could not locate a {build} version entry on the source database.");
}
- var latestTargetFSEVersion = await GetLatestFSEVersion(targetApp);
+ var latestTargetFSEVersion = await GetLatestFSEVersion(targetApp, build);
//Check target latest FSE version is older if there is any.
if (latestTargetFSEVersion != null && Version.Parse(latestSourceFSEVersion.Version) <= Version.Parse(latestTargetFSEVersion.Version))
{
- throw new ValidationException($"FSE source version is '{latestSourceFSEVersion.Version}' while target version is '{latestTargetFSEVersion.Version}'.");
+ throw new ValidationException($"{build} source version is '{latestSourceFSEVersion.Version}' while target version is '{latestTargetFSEVersion.Version}'.");
}
}