Breaking: #80929 - TYPO3_DB moved to extension

See forge#80929

Description

The legacy class DatabaseConnection better known as $GLOBALS['TYPO3_DB'] has been moved to the new system extension ext:typo3db_legacy.

The following classes have been moved and renamed, including an alias to the original class name:

  • TYPO3\CMS\Core\Database\DatabaseConnection to TYPO3\CMS\Typo3DbLegacy\Database\DatabaseConnection

  • TYPO3\CMS\Core\Database\PreparedStatement to TYPO3\CMS\Typo3DbLegacy\Database\PreparedStatement

  • TYPO3\CMS\Core\Database\PostProcessQueryHookInterface to TYPO3\CMS\Typo3DbLegacy\Database\PostProcessQueryHookInterface

  • TYPO3\CMS\Core\Database\PreProcessQueryHookInterface to TYPO3\CMS\Typo3DbLegacy\Database\PreProcessQueryHookInterface

Impact

$GLOBALS['TYPO3_DB'] is no longer initialized by the core bootstrap. Third party extensions that rely on $GLOBALS['TYPO3_DB'] will trigger a fatal error if ext:typo3db_legacy is not loaded.

Affected Installations

Installations with extensions which did not migrate to doctrine yet and need $GLOBALS['TYPO3_DB'].

Migration

Migrate affected extensions to doctrine or load extension typo3db_legacy as backwards compatible layer to $GLOBALS['TYPO3_DB'] (the extension is available via TER and may be installed from there or directly via the upgrade wizard typo3DbLegacyExtension).