MediaWiki
1.30.0
|
Class for handling updates to Postgres databases. More...
Public Member Functions | |
addPgEnumValue ( $type, $value) | |
Add a value to an existing PostgreSQL enum type. More... | |
addPgExtIndex ( $table, $index, $type) | |
addPgIndex ( $table, $index, $type) | |
describeIndex ( $idx) | |
fkeyDeltype ( $fkey) | |
ruleDef ( $table, $rule) | |
Public Member Functions inherited from DatabaseUpdater | |
addExtensionField ( $tableName, $columnName, $sqlPath) | |
addExtensionIndex ( $tableName, $indexName, $sqlPath) | |
addExtensionTable ( $tableName, $sqlPath) | |
Convenience wrapper for addExtensionUpdate() when adding a new table (which is the most common usage of updaters in an extension) More... | |
addExtensionUpdate (array $update) | |
Add a new update coming from an extension. More... | |
addPostDatabaseUpdateMaintenance ( $class) | |
Add a maintenance script to be run after the database updates are complete. More... | |
appendLine ( $line) | |
Append a line to the open filehandle. More... | |
copyFile ( $filename) | |
Append an SQL fragment to the open file handle. More... | |
doUpdates (array $what=[ 'core', 'extensions', 'stats']) | |
Do all the updates. More... | |
dropExtensionField ( $tableName, $columnName, $sqlPath) | |
dropExtensionIndex ( $tableName, $indexName, $sqlPath) | |
Drop an index from an extension table. More... | |
dropExtensionTable ( $tableName, $sqlPath) | |
dropTable ( $table, $patch=false, $fullpath=false) | |
If the specified table exists, drop it, or execute the patch if one is provided. More... | |
getDB () | |
Get a database connection to run updates. More... | |
getPostDatabaseUpdateMaintenance () | |
getSchemaVars () | |
Get appropriate schema variables in the current database connection. More... | |
insertUpdateRow ( $key, $val=null) | |
Helper function: Add a key to the updatelog table Obviously, only use this for updates that occur after the updatelog table was created! More... | |
modifyExtensionField ( $tableName, $fieldName, $sqlPath) | |
modifyField ( $table, $field, $patch, $fullpath=false) | |
Modify an existing field. More... | |
modifyTable ( $table, $patch, $fullpath=false) | |
Modify an existing table, similar to modifyField. More... | |
output ( $str) | |
Output some text. More... | |
patchPath (IDatabase $db, $patch) | |
Get the full path of a patch file. More... | |
purgeCache () | |
Purge the objectcache table. More... | |
renameExtensionIndex ( $tableName, $oldIndexName, $newIndexName, $sqlPath, $skipBothIndexExistWarning=false) | |
Rename an index on an extension table. More... | |
setFileAccess () | |
Set any .htaccess files or equivilent for storage repos. More... | |
tableExists ( $tableName) | |
updateRowExists ( $key) | |
Helper function: check if the given key is present in the updatelog table. More... | |
Protected Member Functions | |
addInterwikiType () | |
addPgField ( $table, $field, $type) | |
addSequence ( $table, $pkey, $ns) | |
changeField ( $table, $field, $newtype, $default) | |
changeFieldPurgeTable ( $table, $field, $newtype, $default) | |
changeFkeyDeferrable ( $table, $field, $clause) | |
changeNullableField ( $table, $field, $null, $update=false) | |
checkIndex ( $index, $should_be, $good_def) | |
checkIwlPrefix () | |
checkOiDeleted () | |
checkOiNameConstraint () | |
checkPageDeletedTrigger () | |
checkRevUserFkey () | |
convertArchive2 () | |
describeTable ( $table) | |
dropFkey ( $table, $field) | |
dropIndex ( $table, $index, $patch='', $fullpath=false) | |
Drop an index from an existing table. More... | |
getCoreUpdateList () | |
getOldGlobalUpdates () | |
Before 1.17, we used to handle updates via stuff like $wgExtNewTables/Fields/Indexes. More... | |
rebuildTextSearch () | |
renameIndex ( $table, $old, $new, $skipBothIndexExistWarning=false, $a=false, $b=false) | |
Rename an index from an existing table. More... | |
renameSequence ( $old, $new) | |
renameTable ( $old, $new, $patch=false) | |
setDefault ( $table, $field, $default) | |
tsearchFixes () | |
Protected Member Functions inherited from DatabaseUpdater | |
__construct (Database &$db, $shared, Maintenance $maintenance=null) | |
addField ( $table, $field, $patch, $fullpath=false) | |
Add a new field to an existing table. More... | |
addIndex ( $table, $index, $patch, $fullpath=false) | |
Add a new index to an existing table. More... | |
addTable ( $name, $patch, $fullpath=false) | |
Add a new table to the database. More... | |
applyPatch ( $path, $isFullPath=false, $msg=null) | |
Applies a SQL patch. More... | |
canUseNewUpdatelog () | |
Updatelog was changed in 1.17 to have a ul_value column so we can record more information about what kind of updates we've done (that's what this class does). More... | |
checkStats () | |
Check the site_stats table is not properly populated. More... | |
disableContentHandlerUseDB () | |
Turns off content handler fields during parts of the upgrade where they aren't available. More... | |
doActiveUsersInit () | |
Sets the number of active users in the site_stats table. More... | |
doCollationUpdate () | |
Update CategoryLinks collation. More... | |
doEnableProfiling () | |
Enable profiling table when it's turned on. More... | |
doLogSearchPopulation () | |
Migrate log params to new table and index for searching. More... | |
doLogUsertextPopulation () | |
Populates the log_user_text field in the logging table. More... | |
doMigrateUserOptions () | |
Migrates user options from the user table blob to user_properties. More... | |
doTable ( $name) | |
Returns whether updates should be executed on the database table $name. More... | |
doUpdateTranscacheField () | |
Updates the timestamps in the transcache table. More... | |
dropField ( $table, $field, $patch, $fullpath=false) | |
Drop a field from an existing table. More... | |
enableContentHandlerUseDB () | |
Turns content handler fields back on. More... | |
getExtensionUpdates () | |
Get the list of extension-defined updates. More... | |
migrateComments () | |
Migrate comments to the new 'comment' table. More... | |
rebuildLocalisationCache () | |
Rebuilds the localisation cache. More... | |
Protected Attributes | |
DatabasePostgres | $db |
Protected Attributes inherited from DatabaseUpdater | |
Database | $db |
Handle to the database subclass. More... | |
array | $extensionUpdates = [] |
List of extension-provided database updates. More... | |
resource | $fileHandle = null |
File handle for SQL output. More... | |
$holdContentHandlerUseDB = true | |
Hold the value of $wgContentHandlerUseDB during the upgrade. More... | |
Maintenance | $maintenance |
string[] | $postDatabaseUpdateMaintenance |
Scripts to run after database update Should be a subclass of LoggedUpdateMaintenance. More... | |
$shared = false | |
bool | $skipSchema = false |
Flag specifying whether or not to skip schema (e.g. More... | |
array | $updates = [] |
Array of updates to perform on the database. More... | |
array | $updatesSkipped = [] |
Array of updates that were skipped. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from DatabaseUpdater | |
static | newForDB (Database $db, $shared=false, $maintenance=null) |
Class for handling updates to Postgres databases.
Definition at line 32 of file PostgresUpdater.php.
|
protected |
Definition at line 1041 of file PostgresUpdater.php.
References DatabaseUpdater\applyPatch().
PostgresUpdater::addPgEnumValue | ( | $type, | |
$value | |||
) |
Add a value to an existing PostgreSQL enum type.
string | $type | Type name. Must be in the core schema. |
string | $value | Value to add. |
Definition at line 849 of file PostgresUpdater.php.
References $type, $value, and DatabaseUpdater\output().
PostgresUpdater::addPgExtIndex | ( | $table, | |
$index, | |||
$type | |||
) |
Definition at line 830 of file PostgresUpdater.php.
References $type, DatabaseUpdater\applyPatch(), and DatabaseUpdater\output().
|
protected |
Definition at line 718 of file PostgresUpdater.php.
References DatabaseUpdater\output().
PostgresUpdater::addPgIndex | ( | $table, | |
$index, | |||
$type | |||
) |
Definition at line 821 of file PostgresUpdater.php.
References DatabaseUpdater\output().
|
protected |
Definition at line 650 of file PostgresUpdater.php.
References DatabaseUpdater\output(), and setDefault().
|
protected |
Definition at line 730 of file PostgresUpdater.php.
References $res, and DatabaseUpdater\output().
|
protected |
Definition at line 755 of file PostgresUpdater.php.
References $res, and DatabaseUpdater\output().
|
protected |
Definition at line 901 of file PostgresUpdater.php.
References $command, and DatabaseUpdater\output().
|
protected |
Definition at line 793 of file PostgresUpdater.php.
References DatabaseUpdater\output().
|
protected |
Definition at line 1001 of file PostgresUpdater.php.
References DatabaseUpdater\output().
|
protected |
Definition at line 1031 of file PostgresUpdater.php.
References DatabaseUpdater\applyPatch().
|
protected |
Definition at line 949 of file PostgresUpdater.php.
References DatabaseUpdater\output().
|
protected |
Definition at line 961 of file PostgresUpdater.php.
References DatabaseUpdater\output().
|
protected |
Definition at line 982 of file PostgresUpdater.php.
References DatabaseUpdater\applyPatch(), and DatabaseUpdater\output().
|
protected |
Definition at line 1019 of file PostgresUpdater.php.
References DatabaseUpdater\applyPatch(), fkeyDeltype(), and DatabaseUpdater\output().
|
protected |
Definition at line 929 of file PostgresUpdater.php.
References DatabaseUpdater\applyPatch(), and DatabaseUpdater\output().
PostgresUpdater::describeIndex | ( | $idx | ) |
|
protected |
Definition at line 528 of file PostgresUpdater.php.
|
protected |
Definition at line 883 of file PostgresUpdater.php.
References $command, and DatabaseUpdater\output().
|
protected |
Drop an index from an existing table.
string | $table | Name of the table to modify |
string | $index | Name of the index |
string | $patch | Path to the patch file |
bool | $fullpath | Whether to treat $patch path as a relative or not |
Reimplemented from DatabaseUpdater.
Definition at line 994 of file PostgresUpdater.php.
References DatabaseUpdater\output().
PostgresUpdater::fkeyDeltype | ( | $fkey | ) |
Definition at line 604 of file PostgresUpdater.php.
References FROM.
Referenced by checkRevUserFkey().
|
protected |
It never got refactored like it should've.
Reimplemented from DatabaseUpdater.
Definition at line 44 of file PostgresUpdater.php.
References true.
|
protected |
Before 1.17, we used to handle updates via stuff like $wgExtNewTables/Fields/Indexes.
This is nasty :) We refactored a lot of this in 1.17 but we want to remain back-compatible for a while. So load up these old global-based things into our update list.
Reimplemented from DatabaseUpdater.
Definition at line 489 of file PostgresUpdater.php.
References DatabaseUpdater\$updates, as, global, and true.
|
protected |
Definition at line 1058 of file PostgresUpdater.php.
References DatabaseUpdater\applyPatch(), DatabaseUpdater\output(), and DatabaseUpdater\updateRowExists().
|
protected |
Rename an index from an existing table.
string | $table | Name of the table to modify |
string | $oldIndex | Old name of the index |
string | $newIndex | New name of the index |
bool | $skipBothIndexExistWarning | Whether to warn if both the old and the new indexes exist. |
string | $patch | Path to the patch file |
bool | $fullpath | Whether to treat $patch path as a relative or not |
Reimplemented from DatabaseUpdater.
Definition at line 684 of file PostgresUpdater.php.
References DatabaseUpdater\output().
|
protected |
Definition at line 660 of file PostgresUpdater.php.
References DatabaseUpdater\output().
|
protected |
Definition at line 672 of file PostgresUpdater.php.
References DatabaseUpdater\applyPatch(), and DatabaseUpdater\output().
PostgresUpdater::ruleDef | ( | $table, | |
$rule | |||
) |
Definition at line 626 of file PostgresUpdater.php.
References definition, and FROM.
|
protected |
Definition at line 784 of file PostgresUpdater.php.
References DatabaseUpdater\output().
Referenced by addSequence().
|
protected |
Definition at line 1045 of file PostgresUpdater.php.
References DatabaseUpdater\applyPatch().
|
protected |
Definition at line 37 of file PostgresUpdater.php.