From b931ce01231ea5c1beee762fce0062fcb224506c Mon Sep 17 00:00:00 2001 From: Stephan Date: Tue, 12 Jun 2018 11:03:18 +0200 Subject: [PATCH] Fix CoreRuntime upgrade detection --- src/Umbraco.Core/Runtime/CoreRuntime.cs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Umbraco.Core/Runtime/CoreRuntime.cs b/src/Umbraco.Core/Runtime/CoreRuntime.cs index 98767f2aa2..93f475f7a6 100644 --- a/src/Umbraco.Core/Runtime/CoreRuntime.cs +++ b/src/Umbraco.Core/Runtime/CoreRuntime.cs @@ -258,13 +258,21 @@ namespace Umbraco.Core.Runtime logger.Debug("No local version, need to install Umbraco."); _state.Level = RuntimeLevel.Install; } - else if (localVersion != codeVersion) + else if (localVersion < codeVersion) { // there *is* a local version, but it does not match the code version // need to upgrade - logger.Debug(() => $"Local version \"{localVersion}\" != code version \"{codeVersion}\", need to upgrade Umbraco."); + logger.Debug(() => $"Local version \"{localVersion}\" < code version \"{codeVersion}\", need to upgrade Umbraco."); _state.Level = RuntimeLevel.Upgrade; } + else if (localVersion > codeVersion) + { + logger.Warn(() => $"Local version \"{localVersion}\" > code version \"{codeVersion}\", downgrading is not supported."); + _state.Level = RuntimeLevel.BootFailed; + + // in fact, this is bad enough that we want to throw + throw new BootFailedException($"Local version \"{localVersion}\" > code version \"{codeVersion}\", downgrading is not supported."); + } else if (databaseFactory.Configured == false) { // local version *does* match code version, but the database is not configured