Bug #94709

Updated by Daniel Siepmann 4 months ago

The following error id displayed to the user within Backend Maintenance module when doing a DB compare with sqlite database. I've an old v10 updated to current master and trying to execute db compare. 
 <pre> 
 (1/1) TypeError 

 Argument 2 passed to Doctrine\DBAL\Connection::handleExceptionDuringQuery() must be of the type string, array given, called in /home/daniels/Projects/own/website-typo3/project/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php on line 1524 
 </pre> 

 The issue seems to be within _TYPO3\CMS\Core\Database\Schema\SchemaMigrator::migrate_ which generates arrays instead of strings of SQL for SQLite. 

 <pre> 
           $updateSuggestionsPerConnection 
 $updateSuggestions = array_merge_recursive( 
               $this->getUpdateSuggestions($statements), 
               $this->getUpdateSuggestions($statements, true) 
           ); array_merge(...array_values($updateSuggestions)); 
 </pre> 
 Contains Should contain the issue, some SQL exists in both multiple times and is combined as new array containing duplicates. array.

Back