From f6efa6723eaffaa2014c480b6ba7ba22c5475fe3 Mon Sep 17 00:00:00 2001 From: Aaron Schulz Date: Thu, 10 May 2007 21:05:10 +0000 Subject: [PATCH] *Add a script to delete archived revisions --- maintenance/deleteArchivedRevisions.inc | 35 +++++++++++++++++++++++++ maintenance/deleteArchivedRevisions.php | 30 +++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 maintenance/deleteArchivedRevisions.inc create mode 100644 maintenance/deleteArchivedRevisions.php diff --git a/maintenance/deleteArchivedRevisions.inc b/maintenance/deleteArchivedRevisions.inc new file mode 100644 index 0000000000..3e3460627f --- /dev/null +++ b/maintenance/deleteArchivedRevisions.inc @@ -0,0 +1,35 @@ + + */ + +require_once( 'purgeOldText.inc' ); + +function DeleteArchivedRevisions( $delete = false ) { + + # Data should come off the master, wrapped in a transaction + $dbw = wfGetDB( DB_MASTER ); + $dbw->begin(); + + $tbl_arch = $dbw->tableName( 'archive' ); + # Delete as appropriate + echo( "Deleting archived revisions..." ); + $dbw->query( "TRUNCATE TABLE $tbl_arch" ); + echo( "done.\n" ); + + $delete = $dbw->affectedRows() != 0; + + # This bit's done + # Purge redundant text records + $dbw->commit(); + if( $delete ) { + PurgeRedundantText( true ); + } + +} + +?> \ No newline at end of file diff --git a/maintenance/deleteArchivedRevisions.php b/maintenance/deleteArchivedRevisions.php new file mode 100644 index 0000000000..fc6a5f8dd5 --- /dev/null +++ b/maintenance/deleteArchivedRevisions.php @@ -0,0 +1,30 @@ + + */ + +$options = array( 'delete', 'help' ); +require_once( 'commandLine.inc' ); +require_once( 'deleteArchivedRevisions.inc' ); + +echo( "Delete Archived Revisions\n\n" ); + +if( @$options['help'] ) { + ShowUsage(); +} else { + DeleteArchivedRevisions( @$options['delete'] ); +} + +function ShowUsage() { + echo( "Deletes all archived revisions.\n\n" ); + echo( "These revisions will no longer be restorable.\n\n" ); + echo( "Usage: php deleteArchivedRevisions.php [--delete|--help]\n\n" ); + echo( "delete : Performs the deletion\n" ); + echo( " help : Show this usage information\n" ); +} + +?> \ No newline at end of file -- 2.20.1