Attention

TYPO3 v9 has reached its end-of-life September 30th, 2021 and is not maintained by the community anymore. Looking for a stable version? Use the version switch on the top left.

You can order Extended Long Term Support (ELTS) 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 (e.g. contents of fields change) as well as segments in the file system (e.g. 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 are also completely skippable.

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 do exactly one specific update.

Examples

The TYPO3 core itself provides update wizards inside typo3/sysext/install/Classes/Updates/.