From b01552059d26503a0da352ba814ee3edf4478b6f Mon Sep 17 00:00:00 2001 From: Steve Sanbeg Date: Wed, 17 Jan 2007 21:47:55 +0000 Subject: [PATCH] maintenance script to delete mediawiki messages silently, to upgrade without flooding RC & logs --- maintenance/nukeNS.php | 95 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100644 maintenance/nukeNS.php diff --git a/maintenance/nukeNS.php b/maintenance/nukeNS.php new file mode 100644 index 0000000000..f52a27d239 --- /dev/null +++ b/maintenance/nukeNS.php @@ -0,0 +1,95 @@ +begin(); + + $tbl_pag = $dbw->tableName( 'page' ); + $tbl_rev = $dbw->tableName( 'revision' ); + $res = $dbw->query( "SELECT page_title FROM $tbl_pag WHERE page_namespace = $ns_no" ); + + while( $row = $dbw->fetchObject( $res ) ) { + //echo "$ns_name:".$row->page_title, "\n"; + $title = Title::newFromText($row->page_title, $ns_no); + $id = $title->getArticleID(); + + // Get corresponding revisions + $res2 = $dbw->query( "SELECT rev_id FROM $tbl_rev WHERE rev_page = $id" ); + $revs = array(); + + while( $row2 = $dbw->fetchObject( $res2 ) ) { + $revs[] = $row2->rev_id; + } + $count = count( $revs ); + + //skip anything that looks modified (i.e. multiple revs) + if (($count == 1)) { + #echo $title->getPrefixedText(), "\t", $count, "\n"; + echo "delete: ", $title->getPrefixedText(), "\n"; + + //as much as I hate to cut & paste this, it's a little different, and + //I already have the id & revs + + if( $delete ) { + $dbw->query( "DELETE FROM $tbl_pag WHERE page_id = $id" ); + $dbw->commit(); + // Delete revisions as appropriate + DeleteRevisions( $revs ); + PurgeRedundantText( true ); + } + } else { + echo "skip: ", $title->getPrefixedText(), "\n"; + } + + + } +} + + +?> \ No newline at end of file -- 2.20.1