'DbTestRecorder' => 'maintenance/parserTests.inc',
'DeleteArchivedFilesImplementation' => 'maintenance/deleteArchivedFiles.inc',
'DeleteArchivedRevisionsImplementation' => 'maintenance/deleteArchivedRevisions.inc',
+ 'DeleteDefaultMessages' => 'maintenance/deleteDefaultMessages.php',
'DummyTermColorer' => 'maintenance/parserTests.inc',
'ParserTest' => 'maintenance/parserTests.inc',
'ParserTestParserHook' => 'maintenance/parserTestsParserHook.php',
protected $shared = false;
+ protected $postDatabaseUpdateMaintenance = array(
+ 'DeleteDefaultMessages'
+ );
+
protected function __construct( $db, $shared ) {
$this->db = $db;
$this->shared = $shared;
public function getDB() { return $this->db; }
+ public function getPostDatabaseUpdateMaintenance() {
+ return $this->postDatabaseUpdateMaintenance;
+ }
+
public function doUpdates() {
global $IP, $wgVersion;
require_once( "$IP/maintenance/updaters.inc" );
}
public function execute() {
- self::reallyExecute();
- }
-
- public static function reallyExecute() {
+
+ $this->output( 'Deleting old default messages (this may take a long time!)...', 'msg' );
+
$user = 'MediaWiki default';
$reason = 'No longer required';
$article->doDeleteArticle( $reason );
$dbw->commit();
}
+
+ $this->output( 'done!', 'msg' );
}
}
function do_stats_init() {
// Sometimes site_stats table is not properly populated.
global $wgDatabase;
- wfOut( "Checking site_stats row..." );
+ wfOut( "\nChecking site_stats row..." );
$row = $wgDatabase->selectRow( 'site_stats', '*', array( 'ss_row_id' => 1 ), __METHOD__ );
if ( $row === false ) {
wfOut( "data is missing! rebuilding...\n" );
}
function do_all_updates( $shared = false, $purge = true ) {
- global $wgSharedDB, $wgSharedTables, $wgDatabase, $wgDBtype;
+ global $wgDatabase, $wgDBtype;
$updater = DatabaseUpdater::newForDb( $wgDatabase, $shared );
$updater->doUpdates();
- if ( $wgDBtype === 'postgres' ) {
- return;
- }
-
- wfOut( "Deleting old default messages (this may take a long time!)..." );
if ( !defined( 'MW_NO_SETUP' ) ) {
define( 'MW_NO_SETUP', true );
}
- require_once 'deleteDefaultMessages.php';
- DeleteDefaultMessages::reallyExecute();
- wfOut( "Done\n" );
+
+ foreach( $updater->getPostDatabaseUpdateMaintenance() as $maint ) {
+ call_user_func_array( array( new $maint, 'execute' ), array() );
+ }
+
+ if ( $wgDBtype === 'postgres' ) {
+ return;
+ }
do_stats_init();