[Koha-patches] [PATCH] [REVISED] Bug 5642: Item field serial enumeration (enumchron) should be longer
Marcel de Rooy
M.de.Rooy at rijksmuseum.nl
Thu Jan 20 15:26:30 CET 2011
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.
---
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 5e0c6b6..6d7137c 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 5f3310b..e21dca4 100755
--- a/installer/data/mysql/updatedatabase.pl
+++ b/installer/data/mysql/updatedatabase.pl
@@ -3944,6 +3944,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)
--
1.6.0.6
More information about the Koha-patches
mailing list