@@ -, +, @@ --- .../Bug22607_set_issues_renewals_default_to_zero.perl | 13 +++++++++++++ installer/data/mysql/kohastructure.sql | 4 ++-- 2 files changed, 15 insertions(+), 2 deletions(-) create mode 100644 installer/data/mysql/atomicupdate/Bug22607_set_issues_renewals_default_to_zero.perl --- a/installer/data/mysql/atomicupdate/Bug22607_set_issues_renewals_default_to_zero.perl +++ a/installer/data/mysql/atomicupdate/Bug22607_set_issues_renewals_default_to_zero.perl @@ -0,0 +1,13 @@ +$DBversion = 'XXX'; # will be replaced by the RM +if( CheckVersion( $DBversion ) ) { + + $dbh->do( "UPDATE issues SET renewals = 0 WHERE renewals IS NULL" ); + $dbh->do( "UPDATE old_issues SET renewals = 0 WHERE renewals IS NULL" ); + + $dbh->do( "ALTER TABLE issues MODIFY COLUMN renewals tinyint(4) NOT NULL default 0"); + $dbh->do( "ALTER TABLE old_issues MODIFY COLUMN renewals tinyint(4) NOT NULL default 0"); + + # Always end with this (adjust the bug info) + SetVersion( $DBversion ); + print "Upgrade to $DBversion done (Bug XXXXX - Set default value of issues.renewals to 0)\n"; +} --- a/installer/data/mysql/kohastructure.sql +++ a/installer/data/mysql/kohastructure.sql @@ -1727,7 +1727,7 @@ CREATE TABLE `issues` ( -- information related to check outs or issues `branchcode` varchar(10) default NULL, -- foreign key, linking to the branches table for the location the item was checked out `returndate` datetime default NULL, -- date the item was returned, will be NULL until moved to old_issues `lastreneweddate` datetime default NULL, -- date the item was last renewed - `renewals` tinyint(4) default NULL, -- lists the number of times the item was renewed + `renewals` tinyint(4) NOT NULL default 0, -- lists the number of times the item was renewed `auto_renew` BOOLEAN default FALSE, -- automatic renewal `auto_renew_error` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL, -- automatic renewal error `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, -- the date and time this record was last touched @@ -1759,7 +1759,7 @@ CREATE TABLE `old_issues` ( -- lists items that were checked out and have been r `branchcode` varchar(10) default NULL, -- foreign key, linking to the branches table for the location the item was checked out `returndate` datetime default NULL, -- date the item was returned `lastreneweddate` datetime default NULL, -- date the item was last renewed - `renewals` tinyint(4) default NULL, -- lists the number of times the item was renewed + `renewals` tinyint(4) NOT NULL default 0, -- lists the number of times the item was renewed `auto_renew` BOOLEAN default FALSE, -- automatic renewal `auto_renew_error` varchar(32) COLLATE utf8mb4_unicode_ci DEFAULT NULL, -- automatic renewal error `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, -- the date and time this record was last touched --