Manual:update.php

From mediawiki.org

Details[edit]

The maintenance script update.php checks if the MediaWiki database schema needs to be updated in order to work with the current version of MediaWiki. You should run update.php after each upgrade of MediaWiki or after the update or install of an extension that requires a schema update. Most extensions that require schema updates will say so in their documentation.

From the browser[edit]

If you do not have access to the command line of your server, then use the web updater to run the update script.

Web updater

From the command line[edit]

From the command line, or an SSH shell or similar:

  • Change to the maintenance directory
  • Run the update script:
$ php update.php
Warning Warning: update.php may exit with errors, leaving the database in an inconsistent state. Always backup the database before running the script!
This maintenance script can be disabled via $wgAllowSchemaUpdates . People with extremely large and busy wikis may need to do upgrades with care, but if you're not sure if that applies to you, then it probably doesn't.
Use the following on Vagrant instances (from within your vagrant ssh).
$ mwscript update.php

Parameters[edit]

This script offers several parameters (generic, script dependent and script specific) which may be required in some wiki environments.

Generic maintenance parameters[edit]
--help
used to get a prompt of all available script parameters (generic, script dependent and script specific) together with short explanations of their usage. These are less often used parameters.
--wiki wikiId
update wiki family if database name depends on virtual host, where wikiId - database name (e.g. enwiki, dewiki ...)
Script specific parameters[edit]
--quick
skip countdown sequence
--nopurge
(removed in 1.36) do not purge objectcache table. Normally update.php purges the objectcache table (generally contains the parser cache and the messages cache), msg_resource and msg_resource_links (these are used for ResourceLoader message caching and are cleared in 1.21 and later) tables in the database, if you don't want to purge this table, use the --nopurge option.
--doshared
Update shared tables as well.
--force
Run this script even if it is disabled by configuration options.
--conf
Specifies the config file (the LocalSettings.php file for the specific wiki). Used for wiki families.
--noschema
All changes to the table structure or table additions are skipped. Only data changes are made.
--schema
No schema changes are made to the database, but the schema changes are saved to a separate SQL file that can be run.
Allows "update.php" to be run when $wgAllowSchemaUpdates is set to false. This is useful for non-WMF environments where strict DB permissions allow database updates (which "update.php" performs), but no schema changes (such as adding or dropping tables or indexes, which "update.php" also performs).
--skip-compat-checks
Skips compatibility checks (removed in 1.41), Gerrit change 851684
--skip-external-dependencies
when using composer.local.json to let Composer install extensions and their dependencies, you may see an error message saying that there is a mismatch between the installed and required version (e.g. "mediawiki/semantic-breadcrumb-links: 1.3.0 installed, ~1.3 required"). You can use this parameter to ignore the message and run update.php regardless.
Warning Warning: Only recommended for use by developers.

Extensions can install/update their schemas using LoadExtensionSchemaUpdates hook.

See also[edit]