From cbe0e92e416d17193616faf86d5f0e0809f52ba5 Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Sun, 27 Feb 2011 03:49:50 -0500 Subject: [PATCH] Bug 5642: Item field serial enumeration (enumchron) should be longer Field enumchron in items table is now varchar(80). We have records that need a much longer field, even up to 400 or 500 chars. I suggest to change its type to TEXT (variable length with max 64K; tinytext goes up to 255 chars and is just too short). Mediumtext or longtext are not needed; as a side note these types are used in the items table for e.g. booksellerid and more_subfields_xml.. Revised original patch thanks to Ian Walls: update kohatructure.sql. Copied the change in deleteditems as well. Signed-off-by: Nicole C. Engard Signed-off-by: Chris Cormack (cherry picked from commit fca88d102b91d3781c10c3d533a0fd942d4bd1f2) Signed-off-by: Chris Nighswonger --- 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 edaf7e7691..4ba3cc303e 100644 --- a/installer/data/mysql/kohastructure.sql +++ b/installer/data/mysql/kohastructure.sql @@ -750,7 +750,7 @@ CREATE TABLE `deleteditems` ( `uri` varchar(255) default NULL, `itype` varchar(10) default NULL, `more_subfields_xml` longtext default NULL, - `enumchron` varchar(80) default NULL, + `enumchron` text default NULL, `copynumber` varchar(32) default NULL, `stocknumber` varchar(32) default NULL, `marc` longblob, @@ -1015,7 +1015,7 @@ CREATE TABLE `items` ( `uri` varchar(255) default NULL, `itype` varchar(10) default NULL, `more_subfields_xml` longtext default NULL, - `enumchron` varchar(80) default NULL, + `enumchron` text default NULL, `copynumber` varchar(32) default NULL, `stocknumber` varchar(32) default NULL, PRIMARY KEY (`itemnumber`), diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index 0fbe2a71fd..ffe85640d2 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -3963,6 +3963,14 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { SetVersion ($DBversion); } +$DBversion = "3.03.00.XXX"; +if (C4::Context->preference("Version") < TransformToNum($DBversion)) { + $dbh->do("ALTER TABLE items MODIFY enumchron TEXT"); + $dbh->do("ALTER TABLE deleteditems MODIFY enumchron TEXT"); + print "Upgrade to $DBversion done (bug 5642: longer serial enumeration)\n"; + SetVersion ($DBversion); +} + =head1 FUNCTIONS =head2 DropAllForeignKeys($table) -- 2.39.5