evoWeb / store_finder

Store finder extension for TYPO3
GNU General Public License v2.0
2 stars 9 forks source link

Missing SQL field definition for tx_storefinder_domain_model_location.map #12

Closed alexanderschnitzler closed 4 years ago

alexanderschnitzler commented 5 years ago

Said field isn't defined in the ext_tables.sql but TCA exists for it with 'l10n_mode' => 'exclude' which results in SQL errors when running \TYPO3\CMS\Install\Updates\RowUpdater\L10nModeUpdater::updateTableRow during an upgrade to TYPO3 8.7.

alexanderschnitzler commented 5 years ago

To be a bit more specific here: The updater fetches the TCA, checks the l10n_mode and creates a list of columns to query afterwards.

[ Doctrine\DBAL\Exception\InvalidFieldNameException ]
  An exception occurred while executing 'SELECT `uid`, `starttime`, `endtime`, `storeid`, `zipcode`, `related`, `categories`, `attributes`, `icon`, `latitude`, `longitude`, `center`, `distance`, `geocode`, `map`, `pid` FROM `tx_storefinder_domain_model_location` WHERE (`uid` = ?) AND (`tx_storefinder_domain_model_location`.`deleted` = 0)' with params [1]:

  Unknown column 'map' in 'field list'

Here is the complete callstack:

Exception trace:
#0 ()
   vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Mysqli/MysqliStatement.php:101
#1 Doctrine\DBAL\Driver\Mysqli\MysqliStatement->__construct()
   vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/Mysqli/MysqliConnection.php:120
#2 Doctrine\DBAL\Driver\Mysqli\MysqliConnection->prepare()
   vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:844
#3 Doctrine\DBAL\Connection->executeQuery()
   vendor/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryBuilder.php:206
#4 Doctrine\DBAL\Query\QueryBuilder->execute()
   typo3/sysext/core/Classes/Database/Query/QueryBuilder.php:187
#5 TYPO3\CMS\Core\Database\Query\QueryBuilder->execute()
   typo3/sysext/backend/Classes/Utility/BackendUtility.php:138
#6 TYPO3\CMS\Backend\Utility\BackendUtility::getRecord()
   typo3/sysext/backend/Classes/Utility/BackendUtility.php:167
#7 TYPO3\CMS\Backend\Utility\BackendUtility::getRecordWSOL()
   typo3/sysext/core/Classes/DataHandling/Localization/DataMapProcessor.php:329
#8 TYPO3\CMS\Core\DataHandling\Localization\DataMapProcessor->synchronizeTranslationItem()
   typo3/sysext/core/Classes/DataHandling/Localization/DataMapProcessor.php:268
#9 TYPO3\CMS\Core\DataHandling\Localization\DataMapProcessor->enrich()
   typo3/sysext/core/Classes/DataHandling/Localization/DataMapProcessor.php:130
#10 TYPO3\CMS\Core\DataHandling\Localization\DataMapProcessor->process()
   typo3/sysext/core/Classes/DataHandling/DataHandler.php:986
#11 TYPO3\CMS\Core\DataHandling\DataHandler->process_datamap()
   typo3/sysext/install/Classes/Updates/RowUpdater/L10nModeUpdater.php:152
#12 TYPO3\CMS\Install\Updates\RowUpdater\L10nModeUpdater->updateTableRow()
   typo3/sysext/install/Classes/Updates/DatabaseRowsUpdateWizard.php:177
#13 TYPO3\CMS\Install\Updates\DatabaseRowsUpdateWizard->performUpdate()
   vendor/helhum/typo3-console/Classes/Console/Install/Upgrade/UpgradeWizardExecutor.php:88
#14 Helhum\Typo3Console\Install\Upgrade\UpgradeWizardExecutor->executeWizard()
   vendor/helhum/typo3-console/Classes/Console/Install/Upgrade/UpgradeHandling.php:118
#15 Helhum\Typo3Console\Install\Upgrade\UpgradeHandling->executeWizard()
   vendor/helhum/typo3-console/Classes/Console/Command/UpgradeCommandController.php:157
#16 Helhum\Typo3Console\Command\UpgradeCommandController->subProcessCommand()
   vendor/helhum/typo3-console/Classes/Console/Mvc/Controller/CommandController.php:263
#17 Helhum\Typo3Console\Mvc\Controller\CommandController->callCommandMethod()
   vendor/helhum/typo3-console/Classes/Console/Mvc/Controller/CommandController.php:154
#18 Helhum\Typo3Console\Mvc\Controller\CommandController->processRequest()
   typo3/sysext/extbase/Classes/Mvc/Dispatcher.php:85
#19 TYPO3\CMS\Extbase\Mvc\Dispatcher->dispatch()
   vendor/helhum/typo3-console/Classes/Console/Mvc/Cli/RequestHandler.php:45
#20 Helhum\Typo3Console\Mvc\Cli\RequestHandler->handle()
   vendor/helhum/typo3-console/Classes/Console/Mvc/Cli/Symfony/Command/CommandControllerCommand.php:162
#21 Helhum\Typo3Console\Mvc\Cli\Symfony\Command\CommandControllerCommand->execute()
   vendor/symfony/console/Command/Command.php:255
#22 Symfony\Component\Console\Command\Command->run()
   vendor/symfony/console/Application.php:908
#23 Symfony\Component\Console\Application->doRunCommand()
   vendor/symfony/console/Application.php:269
#24 Symfony\Component\Console\Application->doRun()
   vendor/symfony/console/Application.php:145
#25 Symfony\Component\Console\Application->run()
   vendor/helhum/typo3-console/Classes/Console/Core/Kernel.php:169
#26 Helhum\Typo3Console\Core\Kernel->handle()
   vendor/helhum/typo3-console/Scripts/typo3-console.php:19
#27 {closure}()
   vendor/helhum/typo3-console/Scripts/typo3-console.php:21
#28 require()
   vendor/helhum/typo3-console/typo3cms:18

Command to reproduce this:

php bin/typo3cms upgrade:subprocess executeWizard 'a:3:{i:0;s:24:"DatabaseRowsUpdateWizard";i:1;a:0:{}i:2;b:0;}'
garbast commented 4 years ago

Fixed in develop branch and part of release 3.0.0