From 5b2e02889ea656707e96a04b09cd6321f5a223dc Mon Sep 17 00:00:00 2001 From: Philipp Date: Fri, 6 Jan 2023 17:50:56 +0100 Subject: [PATCH] Fix Update::run() --- src/Core/Update.php | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/Core/Update.php b/src/Core/Update.php index eb207b6c2..cef72f34b 100644 --- a/src/Core/Update.php +++ b/src/Core/Update.php @@ -162,10 +162,20 @@ class Update // Checks if the build changed during Lock acquiring (so no double update occurs) $retryBuild = DI::config()->get('system', 'build'); - if ($retryBuild !== $build) { - Logger::notice('Update already done.', ['from' => $stored, 'to' => $current]); - DI::lock()->release('dbupdate'); - return ''; + if ($retryBuild != $build) { + // legacy option - check if there's something in the Config table + if (DBStructure::existsTable('config')) { + $dbConfig = DBA::selectFirst('config', ['v'], ['cat' => 'system', 'k' => 'build']); + if (!empty($dbConfig)) { + $retryBuild = intval($dbConfig['v']); + } + } + + if ($retryBuild != $build) { + Logger::notice('Update already done.', ['from' => $build, 'retry' => $retryBuild, 'to' => $current]); + DI::lock()->release('dbupdate'); + return ''; + } } DI::config()->set('system', 'maintenance', 1);