Bug #85214
closedInform BE user, if extension installation possibly requires DB updates
0%
Description
#85160 (non destructive database schema changes in Extension Manager) introduced the following behaviour:
If for example a new version of an extension brings a new column, index or table that does not exist locally yet, it will be added. If the extension however changes the length of an existing field or removes a column, index or table definition, these changes are not automatically applied when loading or updating the extension. Administrators use the database analyzer in Admin Tools -> Maintenance view to review and perform these potentially destructive changes manually.
This means, if a BE users installs a new extension, which changes an existing table in a destructive way, the installation goes through without warning and without the change being applied. However, the BE user is not aware of that (TYPO3 did not explicitly informed him/her). As a consequence, whenever (always!) someone installs an extension, it is now required to check "Admin Tools -> Maintenance -> Analyze Database Structure", if the installation possibly requires DB updates, which have not been executed during the installation process.
For example: an demo extension comes with the following SQL file.
CREATE TABLE be_users ( username varchar(10) DEFAULT '' NOT NULL, new_field varchar(10) DEFAULT '' NOT NULL );
On installation, only one of the two fields are applied: the new field "new_field
". Without checking the database structure, the BE user is not aware that the extension also wanted to change the "username
" field.
As a solution, the Extension Manager should explicitly inform the BE user that outstanding database changes exist, which can be reviewed and possibly executed in the Maintenance section.
Files