[Koha-patches] [PATCH] Bug 8002 [REVISED] Can't add patron attribute type in newer installation

Owen Leonard oleonard at myacpl.org
Tue Apr 24 17:47:18 CEST 2012


Correcting patron_attributes_types definition in kohastructure.sql
to allow NULL entries for category_code, matching the definition
specified in updatedatabase.pl. Adds an entry to updatedatabase.pl
to correct existing installations with the incorrect table structure.

After running the updated updatedatabase.pl the category_code
column in borrower_attribute_types should show that it allows
NULL entries. Adding a new patron attribute type with no
patron category specified should work correctly.

To test the update to kohastructure.sql: Back up your Koha
database, drop it, and recreate it. Load the staff interface
and go through the web installer. After recreating the database
enable ExtendedPatronAttributes and try adding a new patron
attribute type with no patron category specified. The operation
should be successful.
---
 installer/data/mysql/kohastructure.sql |    2 +-
 installer/data/mysql/updatedatabase.pl |    7 +++++++
 2 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql
index a210293..488a4f0 100644
--- a/installer/data/mysql/kohastructure.sql
+++ b/installer/data/mysql/kohastructure.sql
@@ -286,7 +286,7 @@ CREATE TABLE `borrower_attribute_types` ( -- definitions for custom patron field
   `staff_searchable` tinyint(1) NOT NULL default 0, -- defines if this field is searchable via the patron search in the staff client (1 for yes, 0 for no)
   `authorised_value_category` varchar(10) default NULL, -- foreign key from authorised_values that links this custom field to an authorized value category
   `display_checkout` tinyint(1) NOT NULL default 0,-- defines if this field displays in checkout screens
-  `category_code` VARCHAR(1) NOT NULL DEFAULT '',-- defines a category for an attribute_type
+  `category_code` VARCHAR(1) NULL DEFAULT NULL,-- defines a category for an attribute_type
   `class` VARCHAR(255) NOT NULL DEFAULT '',-- defines a class for an attribute_type
   PRIMARY KEY  (`code`),
   KEY `auth_val_cat_idx` (`authorised_value_category`)
diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl
index 84f0437..dd3483f 100755
--- a/installer/data/mysql/updatedatabase.pl
+++ b/installer/data/mysql/updatedatabase.pl
@@ -5212,6 +5212,13 @@ if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
     SetVersion($DBversion);
 }
 
+$DBversion = "3.08.00.XXX";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+    $dbh->do("ALTER TABLE borrower_attribute_types CHANGE category_code category_code VARCHAR( 1 ) NULL DEFAULT NULL");
+    print "Upgrade to $DBversion done. (Bug 8002: Update patron attribute types table to allow NULL category_code)\n";
+    SetVersion($DBversion);
+}
+
 =head1 FUNCTIONS
 
 =head2 TableExists($table)
-- 
1.7.5.4



More information about the Koha-patches mailing list