X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=maintenance%2FmigrateUserGroup.php;h=703d97f9b5ae594d21953e3ac103fdbc3845993e;hb=ee3f8a60ef877efe86ef07e0f96060a0930532c6;hp=597a876df92e90519843f55ebd6bcedf575fe51d;hpb=144a683e94d791aeba006d7fa301b8e3c12428d0;p=lhc%2Fweb%2Fwiklou.git diff --git a/maintenance/migrateUserGroup.php b/maintenance/migrateUserGroup.php index 597a876df9..703d97f9b5 100644 --- a/maintenance/migrateUserGroup.php +++ b/maintenance/migrateUserGroup.php @@ -42,17 +42,18 @@ class MigrateUserGroup extends Maintenance { $oldGroup = $this->getArg( 0 ); $newGroup = $this->getArg( 1 ); $dbw = $this->getDB( DB_MASTER ); + $batchSize = $this->getBatchSize(); $start = $dbw->selectField( 'user_groups', 'MIN(ug_user)', [ 'ug_group' => $oldGroup ], __FUNCTION__ ); $end = $dbw->selectField( 'user_groups', 'MAX(ug_user)', [ 'ug_group' => $oldGroup ], __FUNCTION__ ); if ( $start === null ) { - $this->error( "Nothing to do - no users in the '$oldGroup' group", true ); + $this->fatalError( "Nothing to do - no users in the '$oldGroup' group" ); } # Do remaining chunk - $end += $this->mBatchSize - 1; + $end += $batchSize - 1; $blockStart = $start; - $blockEnd = $start + $this->mBatchSize - 1; + $blockEnd = $start + $batchSize - 1; // Migrate users over in batches... while ( $blockEnd <= $end ) { $affected = 0; @@ -62,7 +63,7 @@ class MigrateUserGroup extends Maintenance { $dbw->update( 'user_groups', [ 'ug_group' => $newGroup ], [ 'ug_group' => $oldGroup, - "ug_user BETWEEN $blockStart AND $blockEnd" ], + "ug_user BETWEEN " . (int)$blockStart . " AND " . (int)$blockEnd ], __METHOD__, [ 'IGNORE' ] ); @@ -73,7 +74,7 @@ class MigrateUserGroup extends Maintenance { // user/group is UNIQUE. $dbw->delete( 'user_groups', [ 'ug_group' => $oldGroup, - "ug_user BETWEEN $blockStart AND $blockEnd" ], + "ug_user BETWEEN " . (int)$blockStart . " AND " . (int)$blockEnd ], __METHOD__ ); $affected += $dbw->affectedRows(); @@ -85,7 +86,7 @@ class MigrateUserGroup extends Maintenance { // were in the new group and not in the group. $res = $dbw->select( 'user_groups', 'ug_user', [ 'ug_group' => $newGroup, - "ug_user BETWEEN $blockStart AND $blockEnd" ], + "ug_user BETWEEN " . (int)$blockStart . " AND " . (int)$blockEnd ], __METHOD__ ); if ( $res !== false ) { @@ -97,8 +98,8 @@ class MigrateUserGroup extends Maintenance { } $count += $affected; - $blockStart += $this->mBatchSize; - $blockEnd += $this->mBatchSize; + $blockStart += $batchSize; + $blockEnd += $batchSize; wfWaitForSlaves(); } $this->output( "Done! $count users in group '$oldGroup' are now in '$newGroup' instead.\n" );