Actions
Bug #82628
closedInstall tool and compare DB / EXT:dbal - A cache with identifier "dbal" does not exist
Status:
Closed
Priority:
Should have
Assignee:
-
Category:
Install Tool
Target version:
-
Start date:
2017-10-01
Due date:
% Done:
0%
Estimated time:
TYPO3 Version:
8
PHP Version:
7.0
Tags:
Complexity:
Is Regression:
Sprint Focus:
Description
Hi,
I don't know if it's the right place to report this issue because it's related to the former core, and now standalone, extension DBAL, but the github seems inactive since months.
In order to run TYPO3 8 over PostgreSQL, we have to use adodb and dbal extensions because the most of heavy used extensions (news, realurl for instance) are not doctrine-dbal compliant at the moment.
We have several issues and this one occurs when we try to compare DB in Install Tool :
Uncaught TYPO3 Exception #1203699034: A cache with identifier "dbal" does not exist. (More information) TYPO3\CMS\Core\Cache\Exception\NoSuchCacheException thrown in file /xxx/typo3_src-8.7.4/typo3/sysext/core/Classes/Cache/CacheManager.php in line 119. 13 TYPO3\CMS\Core\Cache\CacheManager::getCache("dbal") /xxx/typo3conf/ext/dbal/Classes/Database/DatabaseConnection.php: $this->SQLparser = GeneralUtility::makeInstance(\TYPO3\CMS\Dbal\Database\SqlParser::class, $this); $this->installerSql = GeneralUtility::makeInstance(\TYPO3\CMS\Install\Service\SqlSchemaMigrationService::class); $this->queryCache = GeneralUtility::makeInstance(\TYPO3\CMS\Core\Cache\CacheManager::class)->getCache('dbal'); // Set internal variables with configuration: $this->conf = $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['dbal']; 12 TYPO3\CMS\Dbal\Database\DatabaseConnection::__construct() /xxx/typo3_src-8.7.4/typo3/sysext/core/Classes/Utility/GeneralUtility.php: 03891: } 03892: // Create new instance and call constructor with parameters 03893: $instance = new $finalClassName(...$constructorArguments); 03894: // Register new singleton instance 03895: if ($instance instanceof SingletonInterface) { 11 TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance("TYPO3\CMS\Core\Database\DatabaseConnection") /xxx/typo3_src-8.7.4/typo3/sysext/core/Classes/Core/Bootstrap.php: 00770: { 00771: /** @var $databaseConnection \TYPO3\CMS\Core\Database\DatabaseConnection */ 00772: $databaseConnection = GeneralUtility::makeInstance(\TYPO3\CMS\Core\Database\DatabaseConnection::class); 00773: $databaseConnection->setDatabaseName( 00774: $GLOBALS['TYPO3_CONF_VARS']['DB']['Connections']['Default']['dbname'] ?? '' 10 TYPO3\CMS\Core\Core\Bootstrap::initializeTypo3DbGlobal() /xxx/typo3_src-8.7.4/typo3/sysext/install/Classes/Controller/Action/AbstractAction.php: 00195: ->defineLoggingAndExceptionConstants() 00196: ->unsetReservedGlobalVariables() 00197: ->initializeTypo3DbGlobal() 00198: ->loadBaseTca(false) 00199: ->loadExtTables(false); 9 TYPO3\CMS\Install\Controller\Action\AbstractAction::loadExtLocalconfDatabaseAndExtTables() /xxx/typo3_src-8.7.4/typo3/sysext/install/Classes/Controller/Action/Tool/ImportantActions.php: 00047: || isset($this->postValues['set']['databaseAnalyzerAnalyze']) 00048: ) { 00049: $this->loadExtLocalconfDatabaseAndExtTables(); 00050: } 00051: if (isset($this->postValues['set']['databaseAnalyzerExecute'])) { 8 TYPO3\CMS\Install\Controller\Action\Tool\ImportantActions::executeAction() /xxx/typo3_src-8.7.4/typo3/sysext/install/Classes/Controller/Action/AbstractAction.php: 00066: { 00067: $this->initializeHandle(); 00068: return $this->executeAction(); 00069: } 00070: 7 TYPO3\CMS\Install\Controller\Action\AbstractAction::handle() /xxx/typo3_src-8.7.4/typo3/sysext/install/Classes/Controller/ToolController.php: 00184: $toolAction->setPostValues($this->getPostValues()); 00185: $toolAction->setLastError($this->getLastError()); 00186: $this->output($toolAction->handle()); 00187: } 00188: } 6 TYPO3\CMS\Install\Controller\ToolController::dispatchAuthenticationActions() /xxx/typo3_src-8.7.4/typo3/sysext/install/Classes/Controller/ToolController.php: 00060: $this->outputLoginFormIfNotAuthorized(); 00061: $this->registerExtensionConfigurationErrorHandler(); 00062: $this->dispatchAuthenticationActions(); 00063: } 00064: 5 TYPO3\CMS\Install\Controller\ToolController::execute() /xxx/typo3_src-8.7.4/typo3/sysext/install/Classes/Http/RequestHandler.php: 00061: $controllerClassName = \TYPO3\CMS\Install\Controller\StepController::class; 00062: } 00063: GeneralUtility::makeInstance($controllerClassName)->execute(); 00064: } 00065: 4 TYPO3\CMS\Install\Http\RequestHandler::handleRequest(TYPO3\CMS\Core\Http\ServerRequest) /xxx/typo3_src-8.7.4/typo3/sysext/core/Classes/Core/Bootstrap.php: 00308: 00309: // Execute the command which returns a Response object or NULL 00310: $this->response = $requestHandler->handleRequest($request); 00311: return $this; 00312: } 3 TYPO3\CMS\Core\Core\Bootstrap::handleRequest(TYPO3\CMS\Core\Http\ServerRequest) /xxx/typo3_src-8.7.4/typo3/sysext/install/Classes/Http/Application.php: 00073: public function run(callable $execute = null) 00074: { 00075: $this->bootstrap->handleRequest(\TYPO3\CMS\Core\Http\ServerRequestFactory::fromGlobals()); 00076: 00077: if ($execute !== null) { 2 TYPO3\CMS\Install\Http\Application::run() /xxx/typo3_src-8.7.4/typo3/sysext/install/Start/Install.php: 00101: call_user_func(function () { 00102: $classLoader = require __DIR__ . '/../../../../vendor/autoload.php'; 00103: (new \TYPO3\CMS\Install\Http\Application($classLoader))->run(); 00104: }); 1 {closure}() /xxx/typo3_src-8.7.4/typo3/sysext/install/Start/Install.php: 00102: $classLoader = require __DIR__ . '/../../../../vendor/autoload.php'; 00103: (new \TYPO3\CMS\Install\Http\Application($classLoader))->run(); 00104: });
TYPO3\CMS\Dbal\Database\DatabaseConnection::__construct() is called at some other places in the backend and in these cases the cache contains a "dbal" identifier.
Actions