Epic #24849: Upgrade Wizard Usability
Upgrade Wizard, first step should be Database Migration
The first "Upgrade Wizard" should be a Database Analyser step that just migrates the database to the newly added features (new fields, new tables, new indexes). No "dropping" of any field at this point (as a later upgrade Wizard might need the information in them).
This first Upgrade Wizard could present a list of changes that will be done and a single checkbox bellow to "accept" that changes.
This Wizard should "hide itself" if it detects that there are no changes required.
[TASK] Update database schema as first and last update wizard
Introduces two new upgrade wizards in the Install tool.
The first wizard - added as first step of the upgrade wizards - adds
tables, fields and keys to comply to the database schema. When this is
necessary no other wizards can be executed until these are created.
The second wizard - added as last step of the upgrade wizards - changes
tables, fields and keys to comply to the database schema. When other
upgrade wizards are available, this one is not available to make sure
they have all necessary fields.
In order to make sure they are added as first and last step they are
added in UpdateWizard instead of ext_localconf.php.
The former "Final step" is now optional and has been renamed to "Hint".
The buttons to start the update wizards from the list have been renamed
from "Next" to "Execute".
#4 Updated by Stephan Großberndt over 5 years ago
This feature must be split up into two parts. The first step before all other upgrade wizards must be one to create all tables and fields that are missing. It must not change any fields because a wizard might expect a string field with CSV and convert it to int - thus the information would be lost if the field was converted by the first step.
The last step after no other wizards are remaining is to change all fields that have not been changed by wizards.
Afterwards an optional step is to go to the database analyser to remove no longer needed fields and tables.