X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=maintenance%2FcleanupRemovedModules.php;h=fb8afd2db6f0dd89f05ad4d871b69d31237f1889;hb=2419f5072436622086e9aefff73179eab094d1a0;hp=eb9443089d997bea3f4911f7d6a803aa022f6250;hpb=b412b3ed8eaa4fab555832ad346ef9fbf8fbb03b;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/cleanupRemovedModules.php b/maintenance/cleanupRemovedModules.php index eb9443089d..fb8afd2db6 100644 --- a/maintenance/cleanupRemovedModules.php +++ b/maintenance/cleanupRemovedModules.php @@ -37,41 +37,45 @@ class CleanupRemovedModules extends Maintenance { public function execute() { $dbw = wfGetDB( DB_MASTER ); $rl = new ResourceLoader(); - $moduleNames = array_keys( $rl->getModules() ); + $moduleNames = $rl->getModuleNames(); $moduleList = implode( ', ', array_map( array( $dbw, 'addQuotes' ), $moduleNames ) ); $limit = max( 1, intval( $this->getOption( 'batchsize', 500 ) ) ); $maxlag = intval( $this->getOption( 'max-slave-lag', 5 ) ); - + $this->output( "Cleaning up module_deps table...\n" ); $i = 1; + $modDeps = $dbw->tableName( 'module_deps' ); do { // $dbw->delete() doesn't support LIMIT :( $where = $moduleList ? "md_module NOT IN ($moduleList)" : '1=1'; - $dbw->query( "DELETE FROM module_deps WHERE $where LIMIT $limit", __METHOD__ ); + $dbw->query( "DELETE FROM $modDeps WHERE $where LIMIT $limit", __METHOD__ ); $numRows = $dbw->affectedRows(); $this->output( "Batch $i: $numRows rows\n" ); $i++; wfWaitForSlaves( $maxlag ); } while( $numRows > 0 ); $this->output( "done\n" ); - + $this->output( "Cleaning up msg_resource table...\n" ); $i = 1; + + $mrRes = $dbw->tableName( 'msg_resource' ); do { $where = $moduleList ? "mr_resource NOT IN ($moduleList)" : '1=1'; - $dbw->query( "DELETE FROM msg_resource WHERE $where LIMIT $limit", __METHOD__ ); + $dbw->query( "DELETE FROM $mrRes WHERE $where LIMIT $limit", __METHOD__ ); $numRows = $dbw->affectedRows(); $this->output( "Batch $i: $numRows rows\n" ); $i++; wfWaitForSlaves( $maxlag ); } while( $numRows > 0 ); $this->output( "done\n" ); - + $this->output( "Cleaning up msg_resource_links table...\n" ); $i = 1; + $msgResLinks = $dbw->tableName( 'msg_resource_links' ); do { $where = $moduleList ? "mrl_resource NOT IN ($moduleList)" : '1=1'; - $dbw->query( "DELETE FROM msg_resource_links WHERE $where LIMIT $limit", __METHOD__ ); + $dbw->query( "DELETE FROM $msgResLinks WHERE $where LIMIT $limit", __METHOD__ ); $numRows = $dbw->affectedRows(); $this->output( "Batch $i: $numRows rows\n" ); $i++; @@ -82,4 +86,4 @@ class CleanupRemovedModules extends Maintenance { } $maintClass = "CleanupRemovedModules"; -require_once( DO_MAINTENANCE ); +require_once( RUN_MAINTENANCE_IF_MAIN );