require_once( "rebuildtextindex.inc" );
require_once( "rebuildrecentchanges.inc" );
-$wgDBuser = $wgDBadminuser;
-$wgDBpassword = $wgDBadminpassword;
+$database = Database::newFromParams( $wgDBserver, $wgDBadminuser, $wgDBadminpassword, $wgDBname );
+
+print "** Rebuilding fulltext search index (if you abort this will break searching; run this script again to fix):\n";
+dropTextIndex( $database );
+rebuildTextIndex( $database );
+createTextIndex( $database );
+
+print "\n\n** Rebuilding recentchanges table:\n";
+rebuildRecentChangesTablePass1();
+rebuildRecentChangesTablePass2();
# Doesn't work anymore
# rebuildLinkTables();
# Use the slow incomplete one instead. It's designed to work in the background
-#refreshLinks( 1 );
-
-dropTextIndex();
-rebuildTextIndex();
-createTextIndex();
-
-rebuildRecentChangesTablePass1();
-rebuildRecentChangesTablePass2();
+print "\n\n** Rebuilding links tables -- this can take a long time. It should be safe to about via ctrl+C if you get bored.\n";
+refreshLinks( 1 );
print "Done.\n";
exit();
{
$fname = 'rebuildRecentChangesTablePass1';
$dbw =& wfGetDB( DB_MASTER );
- extract( $dbw->tableNames( 'recentchanges', 'cur', 'old' );
+ extract( $dbw->tableNames( 'recentchanges', 'cur', 'old' ) );
$dbw->delete( 'recentchanges', '*' );
'rc_this_oldid' => 0,
'rc_last_oldid' => 0,
'rc_type' => 'IF(cur_is_new,' . RC_NEW . ',' . RC_EDIT . ')'
- ), '*', $fname, array( 'ORDER BY' => 'inverse_timestamp', 'LIMIT' => 5000
+ ), '*', $fname, array( 'ORDER BY' => 'inverse_timestamp', 'LIMIT' => 5000 )
);
print( "Loading from OLD table...\n" );
function rebuildRecentChangesTablePass2()
{
$dbw =& wfGetDB( DB_MASTER );
- extract( $dbw->tableNames( 'recentchanges', 'cur', 'old' );
+ extract( $dbw->tableNames( 'recentchanges', 'cur', 'old' ) );
$ns = $id = $count = 0;
$title = $ct = "";
$dbw =& wfGetDB( DB_MASTER );
- $end = $dbw->selectField( 'cur_id', 'max(cur_id)', false );
+ $end = $dbw->selectField( 'cur', 'max(cur_id)', false );
print("Refreshing link table. Starting from cur_id $start of $end.\n");