Manual:DatabaseUpdater.php
MediaWiki file: DatabaseUpdater.php | |
---|---|
Location: | includes/installer/ |
Source code: | master • 1.35.2 • 1.31.14 |
Classes: | DatabaseUpdater |
DatabaseUpdater is the class for handling database updates (e.g. adding, modifying, and dropping database tables, fields, and indexes).
MysqlUpdater.php , PostgresUpdater.php , SqliteUpdater.php , MssqlUpdater.php , and OracleUpdater.php extend this class, and all five 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.
FunctionsEdit
- addExtensionField ($tableName, $columnName, $sqlPath)
- addExtensionIndex ($tableName, $indexName, $sqlPath)
- addExtensionTable ($tableName, $sqlPath)
- addExtensionUpdate (array $update)
- addPostDatabaseUpdateMaintenance ($class)
- dropExtensionField ($tableName, $columnName, $sqlPath)
- dropExtensionIndex ($tableName, $indexName, $sqlPath)
- dropExtensionTable ($tableName, $sqlPath)
- dropTable ($table, $patch=false, $fullpath=false)
- getDB ()
- modifyExtensionField ($tableName, $fieldName, $sqlPath)
- modifyField ($table, $field, $patch, $fullpath=false)