From: Mark A. Hershberger Date: Wed, 20 Jun 2012 19:52:58 +0000 (-0400) Subject: Update migrateUserGroup to deal with primary key issue X-Git-Tag: 1.31.0-rc.0~22523^2 X-Git-Url: https://git.cyclocoop.org/%7B%24www_url%7Dadmin/compta/exercices/journal.php?a=commitdiff_plain;h=d5fced5058a594a542f3cbad46c9e9c8b5e27ddc;p=lhc%2Fweb%2Fwiklou.git 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 --- 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__ );