From 51000ce2a99464b0c0959e169a1a09e905c5cdca Mon Sep 17 00:00:00 2001
From: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Date: Fri, 21 Aug 2020 11:25:12 +0100
Subject: [PATCH] Bug 26268: Remove items.paidfor from the database

In bug 19919 we removed all references to setting, unsettling and
referring to the paidfor field but we neglected to actually drop the
field from the database (I think I intended to do this, but was asking
for feedback on the approach before adding the actual db change.. then
completely forgot when it went through SO/QA quickly).

In bug 23463 we inadvertently re-introduced some of the setting code
during a rebase.

In bug 18501 we then moved that inadvertently re-introduced setter into
Koha::Item->store.

We should kill it off once and for all!
---
 installer/data/mysql/atomicupdate/bug_26268.perl | 10 ++++++++++
 installer/data/mysql/kohastructure.sql           |  2 --
 2 files changed, 10 insertions(+), 2 deletions(-)
 create mode 100644 installer/data/mysql/atomicupdate/bug_26268.perl

diff --git a/installer/data/mysql/atomicupdate/bug_26268.perl b/installer/data/mysql/atomicupdate/bug_26268.perl
new file mode 100644
index 0000000000..09790bff21
--- /dev/null
+++ b/installer/data/mysql/atomicupdate/bug_26268.perl
@@ -0,0 +1,10 @@
+$DBversion = 'XXX'; # will be replaced by the RM
+if( CheckVersion( $DBversion ) ) {
+
+    if( !column_exists( 'items', 'paidfor' ) ) {
+       $dbh->do(q|ALTER TABLE items DROP COLUMN paidfor|);
+       $dbh->do(q|ALTER TABLE deleteditems DROP COLUMN paidfor|);
+    }
+
+    NewVersion( $DBversion, 26268, "Remove items.paidfor field");
+}
diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql
index 27bb117b31..d39a1aded4 100644
--- a/installer/data/mysql/kohastructure.sql
+++ b/installer/data/mysql/kohastructure.sql
@@ -648,7 +648,6 @@ CREATE TABLE `deleteditems` (
   `itemnotes` LONGTEXT, -- public notes on this item (MARC21 952$z)
   `itemnotes_nonpublic` LONGTEXT default NULL, -- non-public notes on this item (MARC21 952$x)
   `holdingbranch` varchar(10) default NULL, -- foreign key from the branches table for the library that is currently in possession item (MARC21 952$b)
-  `paidfor` LONGTEXT,
   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, -- date and time this item was last altered
   `location` varchar(80) default NULL, -- authorized value for the shelving location for this item (MARC21 952$c)
   `permanent_location` varchar(80) default NULL, -- linked to the CART and PROC temporary locations feature, stores the permanent shelving location
@@ -856,7 +855,6 @@ CREATE TABLE `items` ( -- holdings/item information
   `itemnotes` LONGTEXT, -- public notes on this item (MARC21 952$z)
   `itemnotes_nonpublic` LONGTEXT default NULL, -- non-public notes on this item (MARC21 952$x)
   `holdingbranch` varchar(10) default NULL, -- foreign key from the branches table for the library that is currently in possession item (MARC21 952$b)
-  `paidfor` LONGTEXT,
   `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, -- date and time this item was last altered
   `location` varchar(80) default NULL, -- authorized value for the shelving location for this item (MARC21 952$c)
   `permanent_location` varchar(80) default NULL, -- linked to the CART and PROC temporary locations feature, stores the permanent shelving location
-- 
2.20.1