From 87f10fe9ababbbe15b3e16527370d1f9badc43b0 Mon Sep 17 00:00:00 2001
From: Tomas Cohen Arazi <tomascohen@theke.io>
Date: Fri, 1 Jul 2016 17:48:37 -0300
Subject: [PATCH] Bug 16829: Add 'interface' column to action_logs

This patch introduces a new column for the action_logs table. It is
called 'interface' and it is intended to store the interface in which
the action was performed.

Sponsored-by: NEKLS

Signed-off-by: Nicole C Engard <nengard@bywatersolutions.com>
---
 .../mysql/atomicupdate/bug_16829_action_logs_interface.sql | 14 ++++++++++++++
 installer/data/mysql/kohastructure.sql                     |  4 +++-
 2 files changed, 17 insertions(+), 1 deletion(-)
 create mode 100644 installer/data/mysql/atomicupdate/bug_16829_action_logs_interface.sql

diff --git a/installer/data/mysql/atomicupdate/bug_16829_action_logs_interface.sql b/installer/data/mysql/atomicupdate/bug_16829_action_logs_interface.sql
new file mode 100644
index 0000000..9591824
--- /dev/null
+++ b/installer/data/mysql/atomicupdate/bug_16829_action_logs_interface.sql
@@ -0,0 +1,14 @@
+ALTER TABLE `action_logs` ADD COLUMN `interface` VARCHAR(30) DEFAULT NULL AFTER `info`;
+ALTER TABLE `action_logs` ADD KEY `interface` (`interface`);
+
+-- $DBversion = "16.06.00.XXX";
+-- if ( CheckVersion($DBversion) ) {
+--     $dbh->do(q{
+--         ALTER TABLE `action_logs` ADD COLUMN `interface` VARCHAR(30) DEFAULT NULL AFTER `info`;
+--     });
+--     $dbh->do({
+--         ALTER TABLE `action_logs` ADD KEY `interface` (`interface`);
+--     });
+--     print "Upgrade to $DBversion done (Bug 16829: action_logs should have an 'interface' column)\n";
+--     SetVersion($DBversion);
+-- }
diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql
index 3b9bcc0..a92773b 100644
--- a/installer/data/mysql/kohastructure.sql
+++ b/installer/data/mysql/kohastructure.sql
@@ -2712,13 +2712,15 @@ CREATE TABLE `action_logs` ( -- logs of actions taken in Koha (requires that the
   `action` text, -- the action (includes things like DELETED, ADDED, MODIFY, etc)
   `object` int(11) default NULL, -- the object that the action was taken against (could be a borrowernumber, itemnumber, etc)
   `info` text, -- information about the action (usually includes SQL statement)
+  `interface` VARCHAR(30) DEFAULT NULL, -- the context this action was taken in
   PRIMARY KEY (`action_id`),
   KEY `timestamp_idx` (`timestamp`),
   KEY `user_idx` (`user`),
   KEY `module_idx` (`module`(255)),
   KEY `action_idx` (`action`(255)),
   KEY `object_idx` (`object`),
-  KEY `info_idx` (`info`(255))
+  KEY `info_idx` (`info`(255)),
+  KEY `interface` (`interface`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
 
 --
-- 
2.1.4