Příručka:DatabaseUpdater.php

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

DatabaseUpdater je třída pro zpracování aktualizací databáze (např. přidání, úprava a odstranění databázových tabulek, polí a indexů). MysqlUpdater.php , PostgresUpdater.php a SqliteUpdater.php rozšiřují tuto třídu a všechny tyto soubory (stejně jako soubory tables.sql pro různé typy databází) je případně nutné revidovat, když je provedena změna základního schématu. Rozšíření obvykle mění schéma pomocí LoadExtensionSchemaUpdates háčkových funkcí. V každém případě je třeba vytvořit soubory oprav SQL.

Funkce

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