diff options
| author | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2020-02-14 12:13:10 +0200 |
|---|---|---|
| committer | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2020-02-14 12:13:10 +0200 |
| commit | 6e6126cca201dae1f3a9499bb0d950fb9d797a8f (patch) | |
| tree | c1cc50ee03b24a21ae4f620bc805076dfba948a8 /Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs | |
| parent | 678b22afc27e53811f978103b7ea41609ff68606 (diff) | |
| download | Tango-6e6126cca201dae1f3a9499bb0d950fb9d797a8f.tar.gz Tango-6e6126cca201dae1f3a9499bb0d950fb9d797a8f.zip | |
Implemented version rollback on AzureUtils.
Changed GetLatestVersion on machine service to respond to any version difference instead of smaller version.
Diffstat (limited to 'Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs')
| -rw-r--r-- | Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs b/Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs index 0c2e56edf..cb1a608a8 100644 --- a/Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs +++ b/Software/Visual_Studio/Azure/Tango.AzureUtils/Database/DatabaseManager.cs @@ -231,6 +231,36 @@ namespace Tango.AzureUtils.Database } } + public async Task DowngradeMachineStudioVersion(IWebAppBase app) + { + var latestMachineStudioVersion = await GetLatestMachineStudioVersion(app); + var dataSource = (await app.GetMachineServiceSettingsAsync()).ToDataSource(); + + OnProgress(AzureUtilsStage.Database, $"Removing machine studio database entry for version '{latestMachineStudioVersion.Version}'..."); + + using (var db = ObservablesContext.CreateDefault(dataSource)) + { + var latest = await db.MachineStudioVersions.SingleOrDefaultAsync(x => x.Guid == latestMachineStudioVersion.Guid); + db.MachineStudioVersions.Remove(latest); + await db.SaveChangesAsync(); + } + } + + public async Task DowngradePPCVersion(IWebAppBase app) + { + var latestPPCVersion = await GetLatestPPCVersion(app); + var dataSource = (await app.GetMachineServiceSettingsAsync()).ToDataSource(); + + OnProgress(AzureUtilsStage.Database, $"Removing PPC database entry for version '{latestPPCVersion.Version}'..."); + + using (var db = ObservablesContext.CreateDefault(dataSource)) + { + var latest = await db.TangoVersions.SingleOrDefaultAsync(x => x.Guid == latestPPCVersion.Guid); + db.TangoVersions.Remove(latest); + await db.SaveChangesAsync(); + } + } + public async Task<MachineStudioVersion> GetLatestMachineStudioVersion(IWebAppBase app) { OnProgress(AzureUtilsStage.Database, $"Getting latest machine studio version on '{app.Name}'..."); |
