Manual:DatabaseUpdater.php

DatabaseUpdater is the class for handling database updates (e.g. adding, modifying, and dropping database tables, fields, and indexes).

, , , , and  extend this class, and all five of those files (as well as the  files for the various database types) potentially need to be revised when a core schema change is made.

ext>Special:MyLanguage/Manual:Extensions|Extensions usually change the schema by means of  hook functions.

Either way, patch>Special:MyLanguage/Manual:SQL patch file|SQL patch file(s) need to be created.

Functions

 * 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)