From 7301b41b97bdf2ca90a1ad5e394f071252ca9a14 Mon Sep 17 00:00:00 2001
From: Agustin Moyano <agustinmoyano@theke.io>
Date: Wed, 8 Apr 2020 16:53:43 -0300
Subject: [PATCH] Bug 25086: (follow-up) Set changed_fields column as nullable
This patch reverts previous patch (left there because it was signed off), and sets changed_fields column as nullable.
Attend only this test plan and not previous patch.
To test:
1. Do not apply any patch
2. Set PatronSelfRegistrationVerifyByEmail preference to require
3. Fill self registration form in opac and submit
CHECK => OPAC dies with a nasty message, that says Field 'changed_fields' doesn't have a default value
4. Apply this patch and updatedatabase
5. Repeat step 3
SUCCESS => Registry process continues as expected
6. Sign off
Sponsored-by: Orex Digital
---
Koha/Patron/Modification.pm | 2 --
installer/data/mysql/atomicupdate/bug_25086.perl | 9 +++++++++
installer/data/mysql/kohastructure.sql | 2 +-
3 files changed, 10 insertions(+), 3 deletions(-)
create mode 100644 installer/data/mysql/atomicupdate/bug_25086.perl
diff --git a/Koha/Patron/Modification.pm b/Koha/Patron/Modification.pm
index 375b6886ad..51f182a80b 100644
--- a/Koha/Patron/Modification.pm
+++ b/Koha/Patron/Modification.pm
@@ -70,8 +70,6 @@ sub store {
};
}
- $self->changed_fields('') unless defined $self->changed_fields;
-
return $self->SUPER::store();
}
diff --git a/installer/data/mysql/atomicupdate/bug_25086.perl b/installer/data/mysql/atomicupdate/bug_25086.perl
new file mode 100644
index 0000000000..1ecdced1d7
--- /dev/null
+++ b/installer/data/mysql/atomicupdate/bug_25086.perl
@@ -0,0 +1,9 @@
+$DBversion = 'XXX'; # will be replaced by the RM
+if( CheckVersion( $DBversion ) ) {
+ # you can use $dbh here like:
+
+ $dbh->do( "ALTER TABLE borrower_modifications MODIFY changed_fields MEDIUMTEXT DEFAULT NULL" );
+
+ # Always end with this (adjust the bug info)
+ NewVersion( $DBversion, 25086, "Set changed_fields column of borrower_modifications as nullable");
+}
diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql
index 740b5958c8..97801a50e2 100644
--- a/installer/data/mysql/kohastructure.sql
+++ b/installer/data/mysql/kohastructure.sql
@@ -3387,7 +3387,7 @@ CREATE TABLE borrower_attribute_types_branches( -- association table between bor
CREATE TABLE IF NOT EXISTS `borrower_modifications` (
`timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
`verification_token` varchar(255) NOT NULL DEFAULT '',
- `changed_fields` MEDIUMTEXT NOT NULL,
+ `changed_fields` MEDIUMTEXT DEFAULT NULL,
`borrowernumber` int(11) NOT NULL DEFAULT '0',
`cardnumber` varchar(32) DEFAULT NULL,
`surname` LONGTEXT,
--
2.25.0