Commit 9932767b authored by Helmut Hummel's avatar Helmut Hummel Committed by Susanne Moog
Browse files

[BUGFIX] Do not mark repeatable wizards executed during install

The point of repeatable update wizards is that they are not
marked executed and thus always checked for possible updates.

They therefore must not be marked executed during installation.

Resolves: #91211
Releases: master, 9.5
Change-Id: Ic4e98b95711433705f77899d664cc7cf2c7a42ba
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/64326


Reviewed-by: Andreas Fernandez's avatarAndreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Daniel Goerz's avatarDaniel Goerz <daniel.goerz@posteo.de>
Reviewed-by: Markus Klein's avatarMarkus Klein <markus.klein@typo3.org>
Reviewed-by: default avatarJosef Glatz <josefglatz@gmail.com>
Reviewed-by: Susanne Moog's avatarSusanne Moog <look@susi.dev>
Tested-by: Daniel Goerz's avatarDaniel Goerz <daniel.goerz@posteo.de>
Tested-by: Markus Klein's avatarMarkus Klein <markus.klein@typo3.org>
Tested-by: Susanne Moog's avatarSusanne Moog <look@susi.dev>
Tested-by: default avatarTYPO3com <noreply@typo3.com>
parent 128828a5
......@@ -61,6 +61,8 @@ use TYPO3\CMS\Install\Service\SilentConfigurationUpgradeService;
use TYPO3\CMS\Install\SystemEnvironment\Check;
use TYPO3\CMS\Install\SystemEnvironment\DatabaseCheck;
use TYPO3\CMS\Install\SystemEnvironment\SetupCheck;
use TYPO3\CMS\Install\Updates\DatabaseRowsUpdateWizard;
use TYPO3\CMS\Install\Updates\RepeatableInterface;
/**
* Install step controller, dispatcher class of step actions.
......@@ -1014,9 +1016,12 @@ For each website you need a TypoScript template on the main page of your website
$this->lateBootService->loadExtLocalconfDatabaseAndExtTables();
if (!empty($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update'])) {
foreach ($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update'] as $updateClassName) {
$this->registry->set('installUpdate', $updateClassName, 1);
if (!in_array(RepeatableInterface::class, class_implements($updateClassName), true)) {
$this->registry->set('installUpdate', $updateClassName, 1);
}
}
}
$this->registry->set('installUpdateRows', 'rowUpdatersDone', GeneralUtility::makeInstance(DatabaseRowsUpdateWizard::class)->getAvailableRowUpdater());
$this->configurationManager->setLocalConfigurationValuesByPathValuePairs($configurationValues);
......
......@@ -51,6 +51,15 @@ class DatabaseRowsUpdateWizard implements UpgradeWizardInterface, RepeatableInte
WorkspaceVersionRecordsMigration::class,
];
/**
* @internal
* @return string[]
*/
public function getAvailableRowUpdater(): array
{
return $this->rowUpdater;
}
/**
* @return string Unique identifier of this updater
*/
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment