Příručka:DatabaseUpdater.php
Appearance
| Soubor MediaWiki: DatabaseUpdater.php | |
|---|---|
| Lokalita: | includes/installer/ |
| Zdrojový kód: | master • 1.44.2 • 1.43.5 • 1.39.15 |
| Třídy: | DatabaseUpdater |
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 )