Bug #89438
closed"Upgrade Wizard" - "Database Analyzer" - Loop
0%
Description
Currently, the Upgrade Wizard is not compatible with the Database Analyzer. The reason for this is the \TYPO3\CMS\Install\Updates\ExtensionManagerTables Task. It checks all tables with the SchemaMigrator and requires a generated database schema out of the TCA model.
$defaultTcaSchema = GeneralUtility::makeInstance(DefaultTcaSchema::class); $tables = $defaultTcaSchema->enrich($tables);
Many extension authors do not use unsigned in their sql files for int fields. This leads to a very large number of fields being changed by ExtensionManagerTables, although it should only change 2 tables.
Using unsigned int field seems to be the new standard.
If you execute the Database Analyzer after this task, these fields are displayed incorrectly and it is suggested to restore them to their original non-unsigned state. This is because the Database Analyzer uses the sql files of the extensions as a basis before comparing them with the SchemaMigrator. An "enrich" is then no longer necessary.
Possible solution:
- Dissuade the ExtensionManagerTables Task from checking other tables. Because it should not be responsible for other modifications.
Then the system can regain 100% integrity.
Files
Updated by Christian Eßl about 5 years ago
I noticed the same problem here in TYPO3 9.5.11.
ExtensionManagerTables::updateNecessary() reads in all update statements (event those that are not related to the extension manager). If at least one update statement is present, updateNecessary() will always return TRUE.
In ExtensionManagerTables::getUpdateStatements(), first $emTableStatements will only contain the statements for the extension manager tables. Then these statements are given to the SchemaMigrationService:
$updateSuggestions = $schemaMigrationService->getUpdateSuggestions($emTableStatements);
But appararently the SchemaMigrationService always returns the update suggestions for all tables, not only for those statements that were given as a parameter... So this looks like a bug in the SchemaMigrationService to me.
Updated by Georg Ringer over 4 years ago
- Related to Bug #91665: Upgrade wizard "ExtensionManagerTables" should not declare itself neccesary in composer and/or offline mode added
Updated by Benni Mack about 2 years ago
- Status changed from New to Needs Feedback
FYI: We've dropped this update wizard because we've reworked the Extension Manager Repository API in v11+. Unfortunately, we were not able to backport this to v10 as it is a breaking change...
OK for you to close this ticket?
Updated by Benni Mack about 2 years ago
- Related to Feature #92457: Simplify TER connection added
Updated by Riccardo De Contardi almost 2 years ago
- Status changed from Needs Feedback to Closed
No feedback since more than 90 days and should be solved on v.11+ => closing this issue.
If you think that this is the wrong decision or experience the issue again and have more information about how to reproduce this issue on recent TYPO3 versions, please reopen it or open a new issue with a reference to this one.
Thank you and best regards