}
// Don't check the status if the last update was failed
- if (DI::config()->get('system', 'update', Update::SUCCESS, true) == Update::FAILED) {
+ if (DI::config()->get('system', 'update', Update::SUCCESS) == Update::FAILED) {
return;
}
DI::lock()->release('dbupdate', true);
}
- $build = DI::config()->get('system', 'build', null, true);
+ $build = DI::config()->get('system', 'build', null);
if (empty($build) || ($build > DB_UPDATE_VERSION)) {
$build = DB_UPDATE_VERSION - 1;
$stored = intval($build);
$current = intval(DB_UPDATE_VERSION);
if ($stored < $current || $force) {
- DI::config()->load('database');
+ DI::config()->reload();
// Compare the current structure with the defined structure
// If the Lock is acquired, never release it automatically to avoid double updates
Logger::notice('Update starting.', ['from' => $stored, 'to' => $current]);
// Checks if the build changed during Lock acquiring (so no double update occurs)
- $retryBuild = DI::config()->get('system', 'build', null, true);
+ $retryBuild = DI::config()->get('system', 'build', null);
if ($retryBuild !== $build) {
Logger::notice('Update already done.', ['from' => $stored, 'to' => $current]);
DI::lock()->release('dbupdate');
Logger::warning('Pre update failed', ['version' => $version]);
DI::config()->set('system', 'update', Update::FAILED);
DI::lock()->release('dbupdate');
- DI::config()->set('system', 'maintenance', 0);
- DI::config()->set('system', 'maintenance_reason', '');
+ DI::config()->beginTransaction()
+ ->set('system', 'maintenance', false)
+ ->delete('system', 'maintenance_reason')
+ ->commit();
return $r;
} else {
Logger::notice('Pre update executed.', ['version' => $version]);
Logger::error('Update ERROR.', ['from' => $stored, 'to' => $current, 'retval' => $retval]);
DI::config()->set('system', 'update', Update::FAILED);
DI::lock()->release('dbupdate');
- DI::config()->set('system', 'maintenance', 0);
- DI::config()->set('system', 'maintenance_reason', '');
+ DI::config()->beginTransaction()
+ ->set('system', 'maintenance', false)
+ ->delete('system', 'maintenance_reason')
+ ->commit();
return $retval;
} else {
Logger::notice('Database structure update finished.', ['from' => $stored, 'to' => $current]);
Logger::warning('Post update failed', ['version' => $version]);
DI::config()->set('system', 'update', Update::FAILED);
DI::lock()->release('dbupdate');
- DI::config()->set('system', 'maintenance', 0);
- DI::config()->set('system', 'maintenance_reason', '');
+ DI::config()->beginTransaction()
+ ->set('system', 'maintenance', false)
+ ->delete('system', 'maintenance_reason')
+ ->commit();
return $r;
} else {
DI::config()->set('system', 'build', $version);
DI::config()->set('system', 'build', $current);
DI::config()->set('system', 'update', Update::SUCCESS);
DI::lock()->release('dbupdate');
- DI::config()->set('system', 'maintenance', 0);
- DI::config()->set('system', 'maintenance_reason', '');
+ DI::config()->beginTransaction()
+ ->set('system', 'maintenance', false)
+ ->delete('system', 'maintenance_reason')
+ ->commit();
Logger::notice('Update success.', ['from' => $stored, 'to' => $current]);
if ($sendMail) {