[TYPO3-v4] Current master branch is broken?

Christian Kuhn lolli at schwarzbu.ch
Tue Jun 28 23:12:58 CEST 2011


On 06/28/2011 10:07 PM, Dmitry Dulepov wrote:
>> I agree that having the definitions in COMPARE DATABASE would best fit,
>> but I don't think this is a requirement if it technically makes more
>> sense to have it in the upgrade wizard.
>
> I strongly disagree. It was a requirement so far and it must stay like
> this. Everybody rely on database analyzer to update tables. This must
> not be broken.

I do not generally agree with a thinking like "we can not change things 
that have always been like this". In this special case I agree to you 
that an upgrade path should still be as simple as possible and should 
use paradigms we are already used to.

So, I'm still thinking of the best solution for this scenario: On one 
hand we do have a need for an 'own' handling of those tables, embedded 
in this cf backend, on the other hand we also want the db analyzer to be 
the 'one and only tool' for table layout handling.

Here is another possible solution: We add a section to the 'compare db 
wizard' that is called something like 'Take care of all cache tables'. 
This option is enabled by default and does the following:
- Delete all tables that are prefixed with 'cachingframework_'
- Delete temp_CACHED* files (not sure if we _really_ need this, will check)
- Call cacheManager->flushCaches() to (re)-create needed table 
structure. Maybe we could even move the code to a 
'drop-and-recreate-table' method within this backend.

This solution has the following advantages:
- After running db compare, db layouts are correct
- Old cache tables from not anymore loaded extensions are automatically 
deleted (this is currently not handled)
- No additional checks for any mysql_error() polluting the caching 
framework code
- The code needed in t3lib_install can (hopefully) be done without 
refactoring the whole thing (need to check this in detail).

This will not solve the problem that things like the backend login 
throws db errors during upgrade, but we have had this already - for 
example be login is broken when upgrading to 4.5 as well if the BE news 
table does not exist.

This solution would imho fit pretty much all needs. What do you think? 
If there is no one with a better solution I'll try to come up with a 
patch that hacks this into current t3lib_install, soon.


Regards
Christian


More information about the TYPO3-project-v4 mailing list