From fca88d102b91d3781c10c3d533a0fd942d4bd1f2 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 --- 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 e7ad97ff9d..da1528c813 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 b4c51c0d5d..6bd7397777 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -4022,6 +4022,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.2