Příručka:DatabaseUpdater.php
Soubor MediaWiki: DatabaseUpdater.php | |
---|---|
Lokalita: | includes/installer/ |
Zdrojový kód: | master • 1.42.1 • 1.41.2 • 1.39.8 |
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 )