[BUGFIX] Ensure tables already processed are skipped when resuming upgrade
[Packages/TYPO3.CMS.git] / typo3 / sysext / install / Classes / Updates / DatabaseRowsUpdateWizard.php
index 595f74f..8ad2ca9 100644 (file)
@@ -14,12 +14,14 @@ namespace TYPO3\CMS\Install\Updates;
  *
  * The TYPO3 project - inspiring people to share!
  */
  *
  * The TYPO3 project - inspiring people to share!
  */
+
 use TYPO3\CMS\Core\Database\ConnectionPool;
 use TYPO3\CMS\Core\Registry;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Install\Updates\RowUpdater\ImageCropUpdater;
 use TYPO3\CMS\Install\Updates\RowUpdater\L10nModeUpdater;
 use TYPO3\CMS\Install\Updates\RowUpdater\RowUpdaterInterface;
 use TYPO3\CMS\Core\Database\ConnectionPool;
 use TYPO3\CMS\Core\Registry;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Install\Updates\RowUpdater\ImageCropUpdater;
 use TYPO3\CMS\Install\Updates\RowUpdater\L10nModeUpdater;
 use TYPO3\CMS\Install\Updates\RowUpdater\RowUpdaterInterface;
+use TYPO3\CMS\Install\Updates\RowUpdater\RteLinkSyntaxUpdater;
 
 /**
  * This is a generic updater to migrate content of TCA rows.
 
 /**
  * This is a generic updater to migrate content of TCA rows.
@@ -49,8 +51,9 @@ class DatabaseRowsUpdateWizard extends AbstractUpdate
      * @var array Single classes that may update rows
      */
     protected $rowUpdater = [
      * @var array Single classes that may update rows
      */
     protected $rowUpdater = [
-//        L10nModeUpdater::class,
+        L10nModeUpdater::class,
         ImageCropUpdater::class,
         ImageCropUpdater::class,
+        RteLinkSyntaxUpdater::class,
     ];
 
     /**
     ];
 
     /**
@@ -90,12 +93,12 @@ class DatabaseRowsUpdateWizard extends AbstractUpdate
      * Performs the configuration update.
      *
      * @param array &$databaseQueries Queries done in this update - not filled for this updater
      * Performs the configuration update.
      *
      * @param array &$databaseQueries Queries done in this update - not filled for this updater
-     * @param mixed &$customMessages Custom messages
+     * @param string &$customMessage Custom message
      * @return bool
      * @throws \Doctrine\DBAL\ConnectionException
      * @throws \Exception
      */
      * @return bool
      * @throws \Doctrine\DBAL\ConnectionException
      * @throws \Exception
      */
-    public function performUpdate(array &$databaseQueries, &$customMessages)
+    public function performUpdate(array &$databaseQueries, &$customMessage)
     {
         $registry = GeneralUtility::makeInstance(Registry::class);
 
     {
         $registry = GeneralUtility::makeInstance(Registry::class);
 
@@ -131,11 +134,11 @@ class DatabaseRowsUpdateWizard extends AbstractUpdate
         reset($listOfAllTables);
         $firstTable = current($listOfAllTables);
         $startPosition = $this->getStartPosition($firstTable);
         reset($listOfAllTables);
         $firstTable = current($listOfAllTables);
         $startPosition = $this->getStartPosition($firstTable);
-        foreach ($listOfAllTables as $table) {
+        foreach ($listOfAllTables as $key => $table) {
             if ($table === $startPosition['table']) {
                 break;
             } else {
             if ($table === $startPosition['table']) {
                 break;
             } else {
-                unset($listOfAllTables[$table]);
+                unset($listOfAllTables[$key]);
             }
         }
 
             }
         }
 
@@ -288,7 +291,7 @@ class DatabaseRowsUpdateWizard extends AbstractUpdate
     protected function getStartPosition(string $firstTable): array
     {
         $registry = GeneralUtility::makeInstance(Registry::class);
     protected function getStartPosition(string $firstTable): array
     {
         $registry = GeneralUtility::makeInstance(Registry::class);
-        $startPosition = $registry->get('installUpdateRows', 'rowUpdaterPosition', []);
+        $startPosition = $registry->get('installUpdateRows', 'rowUpdatePosition', []);
         if (empty($startPosition)) {
             $startPosition = [
                 'table' => $firstTable,
         if (empty($startPosition)) {
             $startPosition = [
                 'table' => $firstTable,