Manual:DatabaseUpdater.php

From MediaWiki.org
Jump to: navigation, search

Other languages:
Deutsch • ‎English • ‎español • ‎français • ‎italiano • ‎日本語 • ‎polski • ‎português • ‎português do Brasil • ‎中文


DatabaseUpdater is the class for handling database updates (e.g. adding, modifying, and dropping database tables, fields, and indexes). MysqlUpdater.php, PostgresUpdater.php, SqliteUpdater.php, MssqlUpdater.php, and OracleUpdater.php extend this class, and all five of those files (as well as the tables.sql files for the various database types) potentially need to be revised when a core schema change is made. Extensions usually change the schema by means of LoadExtensionSchemaUpdates hook functions. Either way, SQL patch file(s) need to be created.

Functions[edit | edit source]

  • addExtensionField ($tableName, $columnName, $sqlPath)
  • addExtensionIndex ($tableName, $indexName, $sqlPath)
  • addExtensionTable ($tableName, $sqlPath)
  • addExtensionUpdate (array $update)
  • addPostDatabaseUpdateMaintenance ($class)
  • dropExtensionField ($tableName, $columnName, $sqlPath)
  • dropExtensionIndex ($tableName, $indexName, $sqlPath)
  • dropExtensionTable ($tableName, $sqlPath)
  • dropTable ($table, $patch=false, $fullpath=false)
  • getDB ()
  • modifyExtensionField ($tableName, $fieldName, $sqlPath)
  • modifyField ($table, $field, $patch, $fullpath=false)
Databases Engines: MySQLOraclePostgreSQLSQLite
Technical documentation: Schema (tables) – API property associationsField prefixesPrimary key storage in other fieldsWikimedia extension tables
Configuration: SettingsSharing
Development: AccessOptimizationPolicyUpdaterExtension schema updatesPatch file
Core tables: archivecategorycategorylinkschange_tagconfigexternallinksfilearchivehitcounterimageimagelinksinterwikiiwlinksipblocksjobl10n_cachelanglinkslogginglog_searchmsg_resourcemsg_resource_linksmodule_depsobjectcacheoldimagepagepagelinkspage_propspage_restrictionsprotected_titlesquerycachequerycachetwoquerycache_inforecentchangesredirectrevisionsearchindexsitessite_statstag_summarytemplatelinkstexttranscacheupdateloguploadstashuseruser_former_groupsuser_groupsuser_newtalkuser_propertiesvalid_tagwatchlist