Manual:DatabaseUpdater.php/en

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. Extensions usually change the schema by means of hook functions. Either way, 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)