From d5fced5058a594a542f3cbad46c9e9c8b5e27ddc Mon Sep 17 00:00:00 2001 From: "Mark A. Hershberger" Date: Wed, 20 Jun 2012 15:52:58 -0400 Subject: [PATCH] Update migrateUserGroup to deal with primary key issue Update migrateUserGroup so that if a user is in both the old group and the new group, the script still succeeds. Otherwise, it will fail with violations to the PRIMARY KEY index on the user_groups table. Change-Id: I7bfda03f5735633d03b81092dad29d73293cd182 --- maintenance/migrateUserGroup.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/maintenance/migrateUserGroup.php b/maintenance/migrateUserGroup.php index 297aaf3691..e6eea66722 100644 --- a/maintenance/migrateUserGroup.php +++ b/maintenance/migrateUserGroup.php @@ -54,7 +54,15 @@ class MigrateUserGroup extends Maintenance { $dbw->update( 'user_groups', array( 'ug_group' => $newGroup ), array( 'ug_group' => $oldGroup, - "ug_user BETWEEN $blockStart AND $blockEnd" ) + "ug_user BETWEEN $blockStart AND $blockEnd" ), + __METHOD__, + array( 'IGNORE' ) + ); + $count += $dbw->affectedRows(); + $dbw->delete( 'user_groups', + array( 'ug_group' => $oldGroup, + "ug_user BETWEEN $blockStart AND $blockEnd" ), + __METHOD__ ); $count += $dbw->affectedRows(); $dbw->commit( __METHOD__ ); -- 2.20.1