From 9c23a80ffb4cee7773e309e32ef5f5a519c07aa9 Mon Sep 17 00:00:00 2001 From: Galen Charlton Date: Wed, 17 Jul 2013 14:35:16 +0000 Subject: [PATCH] Bug 10604: increase width of two columns in the courses table The department and term columns in the courses table started as varchar(20), but since they refer to authorized values, need to be varchar(80) to match authorised_values.authorised_value. This patch increases the width of those columns. To test: [1] Create two DEPARTMENT authorised values, one whose code is shorter than 20 characters and one whose code is longer than 20 characters. [2] Create two courses; give one course the short department and the other the long department. [3] Go to the courses list. Observe that the department column is displays the department name only for the short course. [4] Apply the patch. [5] Edit the course with the long department and assign that long department to it again. [6] Go back to the courses list. Observe that both of the courses now display their assigned department. Signed-off-by: Galen Charlton --- installer/data/mysql/kohastructure.sql | 4 ++-- installer/data/mysql/updatedatabase.pl | 8 ++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql index 8f9b30c..8a8b70f 100644 --- a/installer/data/mysql/kohastructure.sql +++ b/installer/data/mysql/kohastructure.sql @@ -478,11 +478,11 @@ CREATE TABLE collections_tracking ( DROP TABLE IF EXISTS courses; CREATE TABLE `courses` ( `course_id` int(11) NOT NULL AUTO_INCREMENT, - `department` varchar(20) DEFAULT NULL, -- Stores the authorised value DEPT + `department` varchar(80) DEFAULT NULL, -- Stores the authorised value DEPT `course_number` varchar(255) DEFAULT NULL, -- An arbitrary field meant to store the "course number" assigned to a course `section` varchar(255) DEFAULT NULL, -- Also arbitrary, but for the 'section' of a course. `course_name` varchar(255) DEFAULT NULL, - `term` varchar(20) DEFAULT NULL, -- Stores the authorised value TERM + `term` varchar(80) DEFAULT NULL, -- Stores the authorised value TERM `staff_note` mediumtext, `public_note` mediumtext, `students_count` varchar(20) DEFAULT NULL, -- Meant to be just an estimate of how many students will be taking this course/section diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index 1f7b491..f7ae3d1 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -7044,6 +7044,14 @@ if ( CheckVersion($DBversion) ) { SetVersion($DBversion); } +$DBversion = "3.13.00.XXX"; +if ( CheckVersion($DBversion) ) { + $dbh->do("ALTER TABLE courses MODIFY COLUMN department varchar(80) DEFAULT NULL;"); + $dbh->do("ALTER TABLE courses MODIFY COLUMN term varchar(80) DEFAULT NULL;"); + print "Upgrade to $DBversion done (Bug 10604: correct width of courses.department and courses.term)\n"; + SetVersion($DBversion); +} + =head1 FUNCTIONS =head2 TableExists($table) -- 1.7.10.4