Attention
TYPO3 v11 has reached end-of-life as of October 31th 2024 and is no longer being maintained. Use the version switcher on the top left of this page to select documentation for a supported version of TYPO3.
Need more time before upgrading? You can purchase Extended Long Term Support (ELTS) for TYPO3 v11 here: TYPO3 ELTS.
The concept of upgrade wizards
Upgrade wizards are single PHP classes that provide an automated way to update certain parts of a TYPO3 installation. Usually those affected parts are sections of the database (for example, contents of fields change) as well as segments in the file system (for example, locations of files have changed).
Wizards should be provided to ease updates for integrators and administrators. They are an addition to the database migration, which is handled by the Core based on ext_tables.sql.
The execution order is not defined. Each administrator is able to execute wizards and migrations in any order. They can also be skipped completely.
Each wizard is able to check pre-conditions to prevent execution, if nothing has to be updated. The wizard can log information and executed SQL statements, that can be displayed after execution.
Best practice
Each extension can provide as many upgrade wizards as necessary. Each wizard should perform exactly one specific update.
Examples
The TYPO3 Core itself provides upgrade wizards inside EXT:install/Classes/Updates/ (GitHub).