public static string UpgradeModule(string version) { switch (version) { case "05.05.00": Version050500(); break; case "06.06.00": case "06.06.04": EnsurePipelineDesignerAttributeSets(); break; } // Increase ClientDependency version upon each upgrade (System and all Portals) // prevents browsers caching old JS and CSS files for editing, which could cause several errors ClientResourceManager.UpdateVersion(); return(version); }
internal string UpgradeModule(string version) { // Check if table "ToSIC_SexyContent_Templates" exists. // If it's gone, then PROBABLY skip all upgrade-codes incl. 8.11! var sql = @"SELECT COUNT(*) FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[ToSIC_SexyContent_Templates]') AND TYPE IN(N'U')"; var sqlConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["SiteSqlServer"].ConnectionString); sqlConnection.Open(); var sqlCommand = new SqlCommand(sql, sqlConnection); var runDbChangesUntil811 = (Int32)sqlCommand.ExecuteScalar() == 1; // if there is one result row, this means the templates table still exists, we need to run changes before 08.11 sqlConnection.Close(); // if version is 01.00.00, the upgrade has to run because log files should be cleared if (!runDbChangesUntil811 && version != "01.00.00" && (new Version(version) <= new Version(8, 11, 0))) { _installLogger.LogStep(version, "Upgrade skipped because 00.99.00 install detected (installation of everything until and including 08.11 has been done by 00.99.00.SqlDataProvider)", true); _installLogger.LogVersionCompletedToPreventRerunningTheUpgrade(version); return(version); } _installLogger.LogStep(version, "UpgradeModule starting", false); // Configure Unity / eav, etc. Settings.EnsureSystemIsInitialized(); // new UnityConfig().Configure(); // Abort upgrade if it's already done - if version is 01.00.00, the module has probably been uninstalled - continue in this case. if (version != "01.00.00" && IsUpgradeComplete(version, "- Check on Start UpgradeModule")) { _installLogger.LogStep(version, "Apparently trying to update this version, but this versions upgrade is apparently compeleted, will abort"); throw new Exception("2sxc upgrade for version " + version + " started, but it looks like the upgrade for this version is already complete. Aborting upgrade."); } _installLogger.LogStep(version, "version / upgrade-complete test passed"); if (IsUpgradeRunning) { _installLogger.LogStep(version, "Apparently upgrade is running, will abort"); throw new Exception("2sxc upgrade for version " + version + " started, but the upgrade is already running. Aborting upgrade."); } _installLogger.LogStep(version, "is-upgrade-running test passed"); IsUpgradeRunning = true; _installLogger.LogStep(version, "----- Upgrade to " + version + " started -----"); try { switch (version) { case "01.00.00": // Make sure that log folder empty on new installations (could happen if 2sxc was already installed on a system) MaybeResetUpgradeLogsToStartAgainFromV1(); break; case "07.02.00": new V7(version, _installLogger, Log).Version070200(); break; case "07.02.02": // Make sure upgrades FROM BETWEEN 07.00.00 and 07.02.02 do not run again (create log files for each of them) _installLogger.LogVersionCompletedToPreventRerunningTheUpgrade("07.00.00", false); _installLogger.LogVersionCompletedToPreventRerunningTheUpgrade("07.00.03", false); _installLogger.LogVersionCompletedToPreventRerunningTheUpgrade("07.02.00", false); break; case "07.03.01": new V7(version, _installLogger, Log).EnsurePipelineDesignerAttributeSets(); // Need to ensure this again because of upgrade problems break; case "07.03.03": new V7(version, _installLogger, Log).Version070303(); break; case "08.00.02": new V8(version, _installLogger, Log).Version080002(); break; case "08.00.04": new V8(version, _installLogger, Log).Version080004(); break; case "08.00.07": new V8(version, _installLogger, Log).Version080007(); break; case "08.01.00": new V8(version, _installLogger, Log).Version080100(); break; case "08.03.00": break; case "08.03.02": new V8(version, _installLogger, Log).Version080302(); break; case "08.03.03": new V8(version, _installLogger, Log).Version080303(); break; case "08.03.05": Helpers.ImportXmlSchemaOfVersion("08.03.05", false); break; case "08.04.00": Helpers.ImportXmlSchemaOfVersion("08.04.00", false); break; case "08.04.03": Helpers.ImportXmlSchemaOfVersion("08.04.03", false); break; case "08.04.05": Helpers.ImportXmlSchemaOfVersion("08.04.03", false); // this is correct, RE-RUN 08.04.03 as there was a problem in that version number before break; case "08.05.00": Helpers.ImportXmlSchemaOfVersion("08.05.00", false); break; case "08.05.01": new V8(version, _installLogger, Log).Version080501(); break; case "08.05.02": Helpers.ImportXmlSchemaOfVersion("08.05.02", false); break; case "08.05.03": Helpers.ImportXmlSchemaOfVersion("08.05.03", false); break; case "08.05.05": Helpers.ImportXmlSchemaOfVersion("08.05.05", false); break; case "08.11.00": new V8(version, _installLogger, Log).Version081100(); break; // warning!!! when you add a new case, make sure you upgrade the version number on Settings.Installation.LastVersionWithServerChanges!!! } _installLogger.LogStep(version, "version-list check / switch done", false); // Increase ClientDependency version upon each upgrade (System and all Portals) // prevents browsers caching old JS and CSS files for editing, which could cause several errors // only set this on the last upgraded version, to prevent crazy updating the client-resource-cache while upgrading if (version == Settings.Installation.UpgradeVersionList.Last()) { _installLogger.LogStep(version, "ClientResourceManager- seems to be last item in version-list, will clear"); ClientResourceManager.UpdateVersion(); _installLogger.LogStep(version, "ClientResourceManager- done clearing"); UpdateUpgradeCompleteStatus(); _installLogger.LogStep(version, "updated upgrade-complete status"); } _installLogger.LogVersionCompletedToPreventRerunningTheUpgrade(version); _installLogger.LogStep(version, "----- Upgrade to " + version + " completed -----"); } catch (Exception e) { _installLogger.LogStep(version, "Upgrade failed - " + e.Message); throw; } finally { IsUpgradeRunning = false; } _installLogger.LogStep(version, "UpgradeModule done / returning"); return(version); }
internal string UpgradeModule(string version) { _logger.LogStep(version, "UpgradeModule starting", false); // Configure Unity / eav, etc. Settings.EnsureSystemIsInitialized(); // new UnityConfig().Configure(); // Abort upgrade if it's already done - if version is 01.00.00, the module has probably been uninstalled - continue in this case. if (version != "01.00.00" && IsUpgradeComplete(version, "- Check on Start UpgradeModule")) { _logger.LogStep(version, "Apparently trying to update this version, but this versions upgrade is apparently compeleted, will abort"); throw new Exception("2sxc upgrade for version " + version + " started, but it looks like the upgrade for this version is already complete. Aborting upgrade."); } _logger.LogStep(version, "version / upgrade-complete test passed"); if (IsUpgradeRunning) { _logger.LogStep(version, "Apparently upgrade is running, will abort"); throw new Exception("2sxc upgrade for version " + version + " started, but the upgrade is already running. Aborting upgrade."); } _logger.LogStep(version, "is-upgrade-running test passed"); IsUpgradeRunning = true; _logger.LogStep(version, "----- Upgrade to " + version + " started -----"); try { switch (version) { case "01.00.00": // Make sure that log folder empty on new installations (could happen if 2sxc was already installed on a system) MaybeResetUpgradeLogsToStartAgainFromV1(); break; case "05.05.00": new V5(version, _logger).Version050500(); break; case "06.06.00": case "06.06.04": new V6(version, _logger).EnsurePipelineDesignerAttributeSets(); break; case "07.00.00": new V7(version, _logger).Version070000(); break; case "07.00.03": new V7(version, _logger).Version070003(); break; case "07.02.00": new V7(version, _logger).Version070200(); break; case "07.02.02": // Make sure upgrades FROM BETWEEN 07.00.00 and 07.02.02 do not run again (create log files for each of them) _logger.LogVersionCompletedToPreventRerunningTheUpgrade("07.00.00", false); _logger.LogVersionCompletedToPreventRerunningTheUpgrade("07.00.03", false); _logger.LogVersionCompletedToPreventRerunningTheUpgrade("07.02.00", false); break; case "07.03.01": new V6(version, _logger).EnsurePipelineDesignerAttributeSets(); // Need to ensure this again because of upgrade problems break; case "07.03.03": new V7(version, _logger).Version070303(); break; case "08.00.02": new V8(version, _logger).Version080002(); break; case "08.00.04": new V8(version, _logger).Version080004(); break; case "08.00.07": new V8(version, _logger).Version080007(); break; case "08.01.00": new V8(version, _logger).Version080100(); break; case "08.03.00": break; case "08.03.02": new V8(version, _logger).Version080302(); break; case "08.03.03": new V8(version, _logger).Version080303(); break; case "08.03.05": Helpers.ImportXmlSchemaOfVersion("08.03.05", false); break; case "08.04.00": Helpers.ImportXmlSchemaOfVersion("08.04.00", false); break; case "08.04.03": Helpers.ImportXmlSchemaOfVersion("08.04.03", false); break; case "08.04.05": Helpers.ImportXmlSchemaOfVersion("08.04.03", false); // this is correct, RE-RUN 08.04.03 as there was a problem in that version number before break; case "08.05.00": Helpers.ImportXmlSchemaOfVersion("08.05.00", false); break; case "08.05.01": new V8(version, _logger).Version080501(); break; case "08.05.02": Helpers.ImportXmlSchemaOfVersion("08.05.02", false); break; case "08.05.03": Helpers.ImportXmlSchemaOfVersion("08.05.03", false); break; case "08.05.05": Helpers.ImportXmlSchemaOfVersion("08.05.05", false); break; // warning!!! when you add a new case, make sure you upgrade the version number on Settings.Installation.LastVersionWithServerChanges!!! } _logger.LogStep(version, "version-list check / switch done", false); // Increase ClientDependency version upon each upgrade (System and all Portals) // prevents browsers caching old JS and CSS files for editing, which could cause several errors // only set this on the last upgraded version, to prevent crazy updating the client-resource-cache while upgrading if (version == Settings.Installation.UpgradeVersionList.Last()) { _logger.LogStep(version, "ClientResourceManager- seems to be last item in version-list, will clear"); ClientResourceManager.UpdateVersion(); _logger.LogStep(version, "ClientResourceManager- done clearing"); UpdateUpgradeCompleteStatus(); _logger.LogStep(version, "updated upgrade-complete status"); } _logger.LogVersionCompletedToPreventRerunningTheUpgrade(version); _logger.LogStep(version, "----- Upgrade to " + version + " completed -----"); } catch (Exception e) { _logger.LogStep(version, "Upgrade failed - " + e.Message); throw; } finally { IsUpgradeRunning = false; } _logger.LogStep(version, "UpgradeModule done / returning"); return(version); }