Manual:DatabaseUpdater.php

DatabaseUpdater is the class for handling database updates (e.g. adding, modifying, and dropping database tables, fields, and indexes). MysqlUpdater.php , PostgresUpdater.php , and SqliteUpdater.php extend this class, and all 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
  • addExtensionField( $tableName, $columnName, $sqlPath )
  • addExtensionIndex( $tableName, $indexName, $sqlPath )
  • addExtensionTable( $tableName, $sqlPath )
  • addExtensionUpdate( array $update )
  • addPostDatabaseUpdateMaintenance( $class )
  • doUpdates( array $what = [ 'core', 'extensions', 'stats' ] )
  • dropExtensionField( $tableName, $columnName, $sqlPath )
  • dropExtensionIndex( $tableName, $indexName, $sqlPath )
  • dropExtensionTable( $tableName, $sqlPath = false )
  • getDB()
  • getPostDatabaseUpdateMaintenance()
  • getSchemaVars()
  • insertUpdateRow( $key, $val = null )
  • modifyExtensionField( $tableName, $fieldName, $sqlPath )
  • modifyExtensionTable( $tableName, $sqlPath )
  • output( $str )
  • patchPath( IDatabase $db, $patch )
  • purgeCache()
  • renameExtensionIndex( $tableName, $oldIndexName, $newIndexName,
  • setAutoExtensionHookContainer( HookContainer $hookContainer )
  • setFileAccess()
  • tableExists( $tableName )
  • updateRowExists( $key )