From 5ad2cd06ad1a2dbc590097b7325b3fd676dc25cb Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Thu, 7 Apr 2022 12:51:42 +0000 Subject: [PATCH] Bug 30483: Make issues.borrowernumber and itemnumber NOT NULL MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Note: This change does NOT apply to old_issues, where constraints may result in nullifying these columns. Test plan: Run dbrev. Try checkout, checkin. Signed-off-by: Martin Renvoize Signed-off-by: Joonas Kylmälä Signed-off-by: Tomas Cohen Arazi (cherry picked from commit 1f44891fd835080133fa1a73634ced0e68b96892) Signed-off-by: Lucas Gass (cherry picked from commit ce7a85ad645cce000d79844c931f10c5498eb816) Signed-off-by: Arthur Suzuki --- installer/data/mysql/atomicupdate/bug_30483.pl | 12 ++++++++++++ installer/data/mysql/kohastructure.sql | 4 ++-- 2 files changed, 14 insertions(+), 2 deletions(-) create mode 100755 installer/data/mysql/atomicupdate/bug_30483.pl diff --git a/installer/data/mysql/atomicupdate/bug_30483.pl b/installer/data/mysql/atomicupdate/bug_30483.pl new file mode 100755 index 0000000000..53eeae9962 --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_30483.pl @@ -0,0 +1,12 @@ +use Modern::Perl; + +return { + bug_number => 30483, + description => "Make issues.borrowernumber and itemnumber NOT NULL", + up => sub { + my ($args) = @_; + my ($dbh, $out) = @$args{qw(dbh out)}; + my $sql = "ALTER TABLE issues MODIFY COLUMN borrowernumber int(11) NOT NULL COMMENT 'foreign key, linking this to the borrowers table for the patron this item was checked out to', MODIFY COLUMN itemnumber int(11) NOT NULL COMMENT 'foreign key, linking this to the items table for the item that was checked out'"; + $dbh->do($sql); + }, +}; diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql index a07696b9af..1fd1be4220 100644 --- a/installer/data/mysql/kohastructure.sql +++ b/installer/data/mysql/kohastructure.sql @@ -2985,9 +2985,9 @@ DROP TABLE IF EXISTS `issues`; /*!40101 SET character_set_client = utf8 */; CREATE TABLE `issues` ( `issue_id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'primary key for issues table', - `borrowernumber` int(11) DEFAULT NULL COMMENT 'foreign key, linking this to the borrowers table for the patron this item was checked out to', + `borrowernumber` int(11) NOT NULL COMMENT 'foreign key, linking this to the borrowers table for the patron this item was checked out to', `issuer_id` int(11) DEFAULT NULL COMMENT 'foreign key, linking this to the borrowers table for the user who checked out this item', - `itemnumber` int(11) DEFAULT NULL COMMENT 'foreign key, linking this to the items table for the item that was checked out', + `itemnumber` int(11) NOT NULL COMMENT 'foreign key, linking this to the items table for the item that was checked out', `date_due` datetime DEFAULT NULL COMMENT 'datetime the item is due (yyyy-mm-dd hh:mm::ss)', `branchcode` varchar(10) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'foreign key, linking to the branches table for the location the item was checked out', `returndate` datetime DEFAULT NULL COMMENT 'date the item was returned, will be NULL until moved to old_issues', -- 2.39.5