Breaking: #93029 - Dropped deleted field from sys_refindex¶
See forge#93029
Description¶
The database field deleted
has been removed from table
sys_refindex
. Therefore, the table does no longer store
relations between soft deleted records.
Following properties and methods of class
TYPO3\CMS\Core\Database\ReferenceIndex
have been set to
protected:
temp_flexRelations
relations
- not scanned by extension scannerhashVersion
getWorkspaceId()
- not scanned by extension scannergetRelations_procDB()
setReferenceValue_dbRels()
setReferenceValue_softreferences()
isReferenceField()
- not scanned by extension scanner
Following methods of class TYPO3\CMS\Core\Database\ReferenceIndex
have been removed:
generateRefIndexData()
createEntryData()
createEntryData_dbRels()
createEntryData_softreferences()
Impact¶
Accessing the properties of class ReferenceIndex
or calling
dropped or protected methods will raise fatal PHP errors.
Querying the deleted
field of table sys_refindex
will raise a
doctrine dbal exception.
Affected Installations¶
The hash sums of existing table rows change. The reference index
should be updated, typically by using the CLI command
bin/typo3 referenceindex:update
Codewise, instances with extensions that query table sys_refindex
or use class ReferenceIndex
may be affected. The extension
scanner helps to find some usages.
Migration¶
Use the CLI command bin/typo3 referenceindex:update
to update
the reference index.
The sys_refindex.deleted
field should be dropped from database
queries.
When accessing class ReferenceIndex
, use the main API method
->updateRefIndexTable()
, plus a couple of other less often
used methods.