FixDefaultJsonContentPages::class,
CleanupEmptyCategories::class,
AddRFCAndPMIDInterwiki::class,
- PopulatePPSortKey::class
+ PopulatePPSortKey::class,
+ PopulateIpChanges::class,
];
/**
protected $holdContentHandlerUseDB = true;
/**
- * @param Database $db To perform updates on
+ * @param Database &$db To perform updates on
* @param bool $shared Whether to perform updates on shared tables
* @param Maintenance $maintenance Maintenance object which created us
*/
*
* @param string $table Name of the table to modify
* @param string $patch Name of the patch file to apply
- * @param string $fullpath Whether to treat $patch path as relative or not, defaults to false
+ * @param string|bool $fullpath Whether to treat $patch path as relative or not, defaults to false
* @return bool False if this was skipped because of schema changes being skipped
*/
- public function modifyTable( $table, $patch, $fullpath = false ) {
+ public function modifyTable( $table, $patch, $fullpath = false ) {
if ( !$this->doTable( $table ) ) {
return true;
}
$wgContentHandlerUseDB = $this->holdContentHandlerUseDB;
}
}
+
+ /**
+ * Migrate comments to the new 'comment' table
+ * @since 1.30
+ */
+ protected function migrateComments() {
+ global $wgCommentTableSchemaMigrationStage;
+ if ( $wgCommentTableSchemaMigrationStage >= MIGRATION_WRITE_NEW &&
+ !$this->updateRowExists( 'MigrateComments' )
+ ) {
+ $this->output(
+ "Migrating comments to the 'comments' table, printing progress markers. For large\n" .
+ "databases, you may want to hit Ctrl-C and do this manually with\n" .
+ "maintenance/migrateComments.php.\n"
+ );
+ $task = $this->maintenance->runChild( 'MigrateComments', 'migrateComments.php' );
+ $task->execute();
+ $this->output( "done.\n" );
+ }
+ }
+
}