Manuel:DatabaseUpdater.php

This page is a translated version of the page Manual:DatabaseUpdater.php and the translation is 100% complete.

DatabaseUpdater est la classe qui gère les mises à jour de la base de données (c'est à dire l'ajout, la modification, et la suppression des tables de la base de données, des champs, et des index). MysqlUpdater.php , PostgresUpdater.php et SqliteUpdater.php étendent cette classe, et tous ces fichiers (ainsi que les fichiers tables.sql pour les différents types de bases de données) ont potentiellement besoin d'être revus lorsqu'une modification du schéma du noyau est réalisée. Les extensions modifient habituellement le schéma via les fonctions d'accroche de LoadExtensionSchemaUpdates . Une autre manière et de créer le / les fichiers SQL correctifs.

Fonctions

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