MediaWiki master
MediaWiki\Installer\MysqlUpdater Class Reference

Inherits MediaWiki\Installer\DatabaseUpdater.

Collaboration diagram for MediaWiki\Installer\MysqlUpdater:

Public Member Functions

 getSchemaVars ()
 Get appropriate schema variables in the current database connection.
 
- Public Member Functions inherited from MediaWiki\Installer\DatabaseUpdater
 addExtensionField ( $tableName, $columnName, $sqlPath)
 Add a field to an existing extension table.
 
 addExtensionIndex ( $tableName, $indexName, $sqlPath)
 Add an index to an existing extension table.
 
 addExtensionTable ( $tableName, $sqlPath)
 Convenience wrapper for addExtensionUpdate() when adding a new table (which is the most common usage of updaters in an extension) Intended for use in LoadExtensionSchemaUpdates hook handlers.
 
 addExtensionUpdate (array $update)
 Add a new update coming from an extension.
 
 addExtensionUpdateOnVirtualDomain (array $update)
 Add a new update coming from an extension on virtual domain databases.
 
 addPostDatabaseUpdateMaintenance ( $class)
 Add a maintenance script to be run after the database updates are complete.
 
 doUpdates (array $what=[ 'core', 'extensions', 'stats'])
 Do all the updates.
 
 dropExtensionField ( $tableName, $columnName, $sqlPath)
 Drop a field from an extension table.
 
 dropExtensionIndex ( $tableName, $indexName, $sqlPath)
 Drop an index from an extension table Intended for use in LoadExtensionSchemaUpdates hook handlers.
 
 dropExtensionTable ( $tableName, $sqlPath=false)
 Drop an extension table.
 
 fieldExists ( $tableName, $fieldName)
 
 getDB ()
 Get a database connection to run updates.
 
 getPostDatabaseUpdateMaintenance ()
 
 insertUpdateRow ( $key, $val=null)
 Helper function: Add a key to the updatelog table.
 
 modifyExtensionField ( $tableName, $fieldName, $sqlPath)
 Modify an existing field in an extension table.
 
 modifyExtensionTable ( $tableName, $sqlPath)
 Modify an existing extension table.
 
 output ( $str)
 Output some text.
 
 patchPath (IDatabase $db, $patch)
 Get the full path of a patch file.
 
 purgeCache ()
 Purge various database caches.
 
 renameExtensionIndex ( $tableName, $oldIndexName, $newIndexName, $sqlPath, $skipBothIndexExistWarning=false)
 Rename an index on an extension table Intended for use in LoadExtensionSchemaUpdates hook handlers.
 
 setAutoExtensionHookContainer (HookContainer $hookContainer)
 Set the HookContainer to use for loading extension schema updates.
 
 setFileAccess ()
 Set any .htaccess files or equivalent for storage repos.
 
 tableExists ( $tableName)
 
 updateRowExists ( $key)
 Helper function: check if the given key is present in the updatelog table.
 

Protected Member Functions

 doFixIpbAddressUniqueIndex ()
 
 doLanguageLinksLengthSync ()
 
 dropDefault ( $table, $field)
 Drops the default value from a field.
 
 getCoreUpdateList ()
 Get an array of updates to perform on the database.
 
 indexHasField ( $table, $index, $field)
 Check whether an index contains a field.
 
 setDefault ( $table, $field, $default)
 Set a default value for a field.
 
- Protected Member Functions inherited from MediaWiki\Installer\DatabaseUpdater
 __construct (IMaintainableDatabase &$db, $shared, Maintenance $maintenance=null)
 
 addField ( $table, $field, $patch, $fullpath=false)
 Add a new field to an existing table.
 
 addIndex ( $table, $index, $patch, $fullpath=false)
 Add a new index to an existing table.
 
 addTable ( $name, $patch, $fullpath=false)
 Add a new table to the database.
 
 appendLine ( $line)
 Append a line to the open file handle.
 
 applyPatch ( $path, $isFullPath=false, $msg=null)
 Applies a SQL patch.
 
 checkStats ()
 Check the site_stats table is not properly populated.
 
 copyFile ( $filename)
 Append an SQL fragment to the open file handle.
 
 doCollationUpdate ()
 Update CategoryLinks collation.
 
 doConvertDjvuMetadata ()
 
 doTable ( $name)
 Returns whether updates should be executed on the database table $name.
 
 dropField ( $table, $field, $patch, $fullpath=false)
 Drop a field from an existing table.
 
 dropIndex ( $table, $index, $patch, $fullpath=false)
 Drop an index from an existing table.
 
 dropTable ( $table, $patch=false, $fullpath=false)
 If the specified table exists, drop it, or execute the patch if one is provided.
 
 getExtensionUpdates ()
 Get the list of extension-defined updates.
 
 ifFieldExists ( $table, $field, $func,... $params)
 Only run a function if the named field exists.
 
 ifTableNotExists ( $table, $func,... $params)
 Only run a function if a table does not exist.
 
 migrateTemplatelinks ()
 
 modifyField ( $table, $field, $patch, $fullpath=false)
 Modify an existing field.
 
 modifyTable ( $table, $patch, $fullpath=false)
 Modify an existing table, similar to modifyField.
 
 rebuildLocalisationCache ()
 Rebuilds the localisation cache.
 
 renameIndex ( $table, $oldIndex, $newIndex, $skipBothIndexExistWarning, $patch, $fullpath=false)
 Rename an index from an existing table.
 
 runMaintenance ( $class, $script)
 Run a maintenance script.
 

Additional Inherited Members

- Static Public Member Functions inherited from MediaWiki\Installer\DatabaseUpdater
static newForDB (IMaintainableDatabase $db, $shared=false, Maintenance $maintenance=null)
 
- Public Attributes inherited from MediaWiki\Installer\DatabaseUpdater
const REPLICATION_WAIT_TIMEOUT = 300
 
- Protected Attributes inherited from MediaWiki\Installer\DatabaseUpdater
HookContainer null $autoExtensionHookContainer
 
IMaintainableDatabase $db
 Handle to the database subclass.
 
array $extensionUpdates = []
 List of extension-provided database updates.
 
array $extensionUpdatesWithVirtualDomains = []
 List of extension-provided database updates on virtual domain dbs.
 
resource null $fileHandle = null
 File handle for SQL output.
 
Maintenance $maintenance
 
string[] $postDatabaseUpdateMaintenance
 Scripts to run after database update Should be a subclass of LoggedUpdateMaintenance.
 
 $shared = false
 
bool $skipSchema = false
 Flag specifying whether to skip schema (e.g., SQL-only) updates.
 
array $updates = []
 Array of updates to perform on the database.
 
array $updatesSkipped = []
 Array of updates that were skipped.
 

Detailed Description

Definition at line 41 of file MysqlUpdater.php.

Member Function Documentation

◆ doFixIpbAddressUniqueIndex()

◆ doLanguageLinksLengthSync()

MediaWiki\Installer\MysqlUpdater::doLanguageLinksLengthSync ( )
protected

◆ dropDefault()

MediaWiki\Installer\MysqlUpdater::dropDefault ( $table,
$field )
protected

Drops the default value from a field.

Since
1.36
Parameters
string$table
string$field

Definition at line 265 of file MysqlUpdater.php.

References MediaWiki\Installer\DatabaseUpdater\insertUpdateRow(), MediaWiki\Installer\DatabaseUpdater\output(), and MediaWiki\Installer\DatabaseUpdater\updateRowExists().

◆ getCoreUpdateList()

MediaWiki\Installer\MysqlUpdater::getCoreUpdateList ( )
protected

Get an array of updates to perform on the database.

Should return a multidimensional array. The main key is the MediaWiki version (1.12, 1.13...) with the values being arrays of updates.

Returns
array[]

Reimplemented from MediaWiki\Installer\DatabaseUpdater.

Definition at line 42 of file MysqlUpdater.php.

◆ getSchemaVars()

MediaWiki\Installer\MysqlUpdater::getSchemaVars ( )

Get appropriate schema variables in the current database connection.

This should be called after any request data has been imported, but before any write operations to the database. The result should be passed to the DB setSchemaVars() method.

Returns
array
Since
1.28

Reimplemented from MediaWiki\Installer\DatabaseUpdater.

Definition at line 244 of file MysqlUpdater.php.

References $wgDBTableOptions.

◆ indexHasField()

MediaWiki\Installer\MysqlUpdater::indexHasField ( $table,
$index,
$field )
protected

Check whether an index contains a field.

Parameters
string$tableTable name
string$indexIndex name to check
string$fieldField that should be in the index
Returns
bool

Definition at line 187 of file MysqlUpdater.php.

References MediaWiki\Installer\DatabaseUpdater\output().

Referenced by MediaWiki\Installer\MysqlUpdater\doFixIpbAddressUniqueIndex().

◆ setDefault()

MediaWiki\Installer\MysqlUpdater::setDefault ( $table,
$field,
$default )
protected

Set a default value for a field.

Since
1.36
Parameters
string$table
string$field
mixed$default

Definition at line 292 of file MysqlUpdater.php.

References MediaWiki\Installer\DatabaseUpdater\output().


The documentation for this class was generated from the following file: