From 1360b8c09dcfd6507ca90a7a09f95ab1c4138a15 Mon Sep 17 00:00:00 2001 From: Kyle M Hall Date: Thu, 20 Nov 2014 11:01:08 -0500 Subject: [PATCH] Bug 1861 [QA Followup] - Don't modify userids, warn if we can't modify the index automatically --- installer/data/mysql/updatedatabase.pl | 22 +++++++++++++--------- 1 files changed, 13 insertions(+), 9 deletions(-) diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index 1d0051a..5b2e4cd 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -9527,17 +9527,21 @@ if ( CheckVersion($DBversion) ) { $DBversion = "3.17.00.XXX"; if ( CheckVersion($DBversion) ) { - $dbh->do(q{ - UPDATE borrowers SET userid = NULL where userid = "" - }); + my ($count) = $dbh->selectrow_array("SELECT COUNT(*) FROM borrowers GROUP BY userid HAVING COUNT(userid) > 1"); - $dbh->do(q{ - ALTER TABLE borrowers - DROP INDEX userid , - ADD UNIQUE userid (userid) - }); + if ( $count ) { + print "Upgrade to $DBversion done (Bug 1861 - Unique patrons logins not (totally) enforced) FAILED!\n"; + print "Your database has users with duplicate user logins. Please have your administrator deduplicate your user logins.\n"; + print "Afterward, your Koha administrator should execute the following database query: ALTER TABLE borrowers DROP INDEX userid, ADD UNIQUE userid (userid)"; + } else { + $dbh->do(q{ + ALTER TABLE borrowers + DROP INDEX userid , + ADD UNIQUE userid (userid) + }); + print "Upgrade to $DBversion done (Bug 1861 - Unique patrons logins not (totally) enforced)\n"; + } - print "Upgrade to $DBversion done (Bug 1861 - Unique patrons logins not (totally) enforced)\n"; SetVersion($DBversion); } -- 1.7.2.5