From ee300a7db66fd95950d93d3c0e4f02499d0f09bf Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 24 Feb 2019 10:43:29 +0000 Subject: [PATCH 1/2] Ensure that the database update will be processed anyway --- src/Core/Update.php | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/Core/Update.php b/src/Core/Update.php index ed6c058726..d769d84e4a 100644 --- a/src/Core/Update.php +++ b/src/Core/Update.php @@ -36,11 +36,10 @@ class Update die('You try to update from a version prior to database version 1170. The direct upgrade path is not supported. Please update to version 3.5.4 before updating to this version.'); } - if ($build < DB_UPDATE_VERSION) { - // When we cannot execute the database update via the worker, we will do it directly - if (!Worker::add(PRIORITY_CRITICAL, 'DBUpdate') && $via_worker) { - self::run($basePath); - } + // Calling the database update directly via the worker enables us to perform database changes to the workerqueue table itself. + // This is a fallback, since normally the database update will be performed by a worker job (which doesn't work for changes to the "workerqueue" table itself). + if (($build < DB_UPDATE_VERSION) && $via_worker) { + self::run($basePath); } } From 4bad2645e5276431fcb70e01f4f3341740a6b89b Mon Sep 17 00:00:00 2001 From: Michael Date: Sun, 24 Feb 2019 10:52:40 +0000 Subject: [PATCH 2/2] We should execute the worker job for normal situations ;-) --- src/Core/Update.php | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/Core/Update.php b/src/Core/Update.php index d769d84e4a..b4626c27b3 100644 --- a/src/Core/Update.php +++ b/src/Core/Update.php @@ -36,10 +36,15 @@ class Update die('You try to update from a version prior to database version 1170. The direct upgrade path is not supported. Please update to version 3.5.4 before updating to this version.'); } - // Calling the database update directly via the worker enables us to perform database changes to the workerqueue table itself. - // This is a fallback, since normally the database update will be performed by a worker job (which doesn't work for changes to the "workerqueue" table itself). - if (($build < DB_UPDATE_VERSION) && $via_worker) { - self::run($basePath); + if ($build < DB_UPDATE_VERSION) { + if ($via_worker) { + // Calling the database update directly via the worker enables us to perform database changes to the workerqueue table itself. + // This is a fallback, since normally the database update will be performed by a worker job. + // This worker job doesn't work for changes to the "workerqueue" table itself. + self::run($basePath); + } else { + Worker::add(PRIORITY_CRITICAL, 'DBUpdate'); + } } }