From de025f76271460864b757c7976a15cde704bf673 Mon Sep 17 00:00:00 2001 From: Nick Clemens Date: Thu, 14 Dec 2017 12:01:38 +0000 Subject: [PATCH] Bug 19724: Add timestamp to biblio_metadata and deletedbiblio_metadata Since bug 17196, biblioitems.timestamp is not always updated after a change in the MARC record. We need to know the last modification time of the MARC record for some features (like OAI-PMH parameters 'from' and 'until' for instance) This patch only adds the missing column in biblio_metadata and deletedbiblio_metadata Test plan: 1. Run updatedatabase.pl 2. Verify that both tables have the new column, its value should be the greatest timestamp value from the corresponding biblio and biblioitems table entries You can verify with the following SQL query: SELECT b.biblionumber, b.timestamp as biblio_ts, bi.timestamp as biblioitems_ts, m.timestamp as biblio_metadata_ts FROM biblio_metadata m LEFT JOIN biblioitems bi ON (bi.biblionumber = m.biblionumber) LEFT JOIN biblio b ON (b.biblionumber = m.biblionumber); Signed-off-by: David Bourgault Signed-off-by: Josef Moravec Signed-off-by: Jonathan Druat Signed-off-by: Nick Clemens (cherry picked from commit 4db611b5dc83e2d865aaba4afe04cd5aaa89904e) Signed-off-by: Fridolin Somers --- installer/data/mysql/kohastructure.sql | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql index cf530ce267..3af0246e45 100644 --- a/installer/data/mysql/kohastructure.sql +++ b/installer/data/mysql/kohastructure.sql @@ -3955,9 +3955,11 @@ CREATE TABLE biblio_metadata ( `format` VARCHAR(16) NOT NULL, `marcflavour` VARCHAR(16) NOT NULL, `metadata` LONGTEXT NOT NULL, + `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, PRIMARY KEY(id), UNIQUE KEY `biblio_metadata_uniq_key` (`biblionumber`,`format`,`marcflavour`), - CONSTRAINT `record_metadata_fk_1` FOREIGN KEY (biblionumber) REFERENCES biblio (biblionumber) ON DELETE CASCADE ON UPDATE CASCADE + CONSTRAINT `record_metadata_fk_1` FOREIGN KEY (biblionumber) REFERENCES biblio (biblionumber) ON DELETE CASCADE ON UPDATE CASCADE, + KEY `timestamp` (`timestamp`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -- @@ -3970,9 +3972,11 @@ CREATE TABLE deletedbiblio_metadata ( `format` VARCHAR(16) NOT NULL, `marcflavour` VARCHAR(16) NOT NULL, `metadata` LONGTEXT NOT NULL, + `timestamp` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, PRIMARY KEY(id), UNIQUE KEY `deletedbiblio_metadata_uniq_key` (`biblionumber`,`format`,`marcflavour`), - CONSTRAINT `deletedrecord_metadata_fk_1` FOREIGN KEY (biblionumber) REFERENCES deletedbiblio (biblionumber) ON DELETE CASCADE ON UPDATE CASCADE + CONSTRAINT `deletedrecord_metadata_fk_1` FOREIGN KEY (biblionumber) REFERENCES deletedbiblio (biblionumber) ON DELETE CASCADE ON UPDATE CASCADE, + KEY `timestamp` (`timestamp`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; -- -- 2.39.5