From bfb0ebf56fc9b7e02d8d1cc6610a84be1ab37d26 Mon Sep 17 00:00:00 2001 From: Jonathan Druart Date: Fri, 26 Aug 2016 09:23:30 +0100 Subject: [PATCH] [SIGNED-OFF] Bug 17196: DB Changes Remove biblioitems.marcxml and deletedbiblioitems.marcxml and adds 2 table biblio_metadata and deletedbiblio_metadata Signed-off-by: Mason James Signed-off-by: Josef Moravec --- installer/data/mysql/atomicupdate/bug_17196.sql | 29 ++++++++++++++++++++++++ installer/data/mysql/kohastructure.sql | 30 +++++++++++++++++++++++-- 2 files changed, 57 insertions(+), 2 deletions(-) create mode 100644 installer/data/mysql/atomicupdate/bug_17196.sql diff --git a/installer/data/mysql/atomicupdate/bug_17196.sql b/installer/data/mysql/atomicupdate/bug_17196.sql new file mode 100644 index 0000000..58373fe --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_17196.sql @@ -0,0 +1,29 @@ +CREATE TABLE biblio_metadata ( + `id` INT(11) NOT NULL AUTO_INCREMENT, + `biblionumber` INT(11) NOT NULL, + `format` VARCHAR(16) NOT NULL, + `marcflavour` VARCHAR(16) NOT NULL, + `metadata` LONGTEXT NOT NULL, + PRIMARY KEY(id), + UNIQUE KEY `biblio_metadata_uniq_key` (`biblionumber`,`format`,`marcflavour`), + CONSTRAINT `biblio_metadata_fk_1` FOREIGN KEY (biblionumber) REFERENCES biblio (biblionumber) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +CREATE TABLE deletedbiblio_metadata ( + `id` INT(11) NOT NULL AUTO_INCREMENT, + `biblionumber` INT(11) NOT NULL, + `format` VARCHAR(16) NOT NULL, + `marcflavour` VARCHAR(16) NOT NULL, + `metadata` LONGTEXT NOT NULL, + PRIMARY KEY(id), + UNIQUE KEY `deletedbiblio_metadata_uniq_key` (`biblionumber`,`format`,`marcflavour`), + CONSTRAINT `deletedbiblio_metadata_fk_1` FOREIGN KEY (biblionumber) REFERENCES deletedbiblio (biblionumber) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + + +INSERT INTO biblio_metadata ( biblionumber, format, marcflavour, metadata ) SELECT biblionumber, 'marcxml', 'CHANGEME', marcxml FROM biblioitems; +INSERT INTO deletedbiblio_metadata ( biblionumber, format, marcflavour, metadata ) SELECT biblionumber, 'marcxml', 'CHANGEME', marcxml FROM deletedbiblioitems; +UPDATE biblio_metadata SET marcflavour = (SELECT value FROM systempreferences WHERE variable="marcflavour"); +UPDATE deletedbiblio_metadata SET marcflavour = (SELECT value FROM systempreferences WHERE variable="marcflavour"); +ALTER TABLE biblioitems DROP COLUMN marcxml; +ALTER TABLE deletedbiblioitems DROP COLUMN marcxml; diff --git a/installer/data/mysql/kohastructure.sql b/installer/data/mysql/kohastructure.sql index 514c13d..67213ad 100644 --- a/installer/data/mysql/kohastructure.sql +++ b/installer/data/mysql/kohastructure.sql @@ -193,7 +193,6 @@ CREATE TABLE `biblioitems` ( -- information related to bibliographic records in `cn_sort` varchar(255) default NULL, -- normalized version of the call number used for sorting `agerestriction` varchar(255) default NULL, -- target audience/age restriction from the bib record (MARC21 521$a) `totalissues` int(10), - `marcxml` longtext, -- full bibliographic MARC record in MARCXML PRIMARY KEY (`biblioitemnumber`), KEY `bibinoidx` (`biblioitemnumber`), KEY `bibnoidx` (`biblionumber`), @@ -547,7 +546,6 @@ CREATE TABLE `deletedbiblioitems` ( -- information about bibliographic records t `cn_sort` varchar(255) default NULL, -- normalized version of the call number used for sorting `agerestriction` varchar(255) default NULL, -- target audience/age restriction from the bib record (MARC21 521$a) `totalissues` int(10), - `marcxml` longtext, -- full bibliographic MARC record in MARCXML PRIMARY KEY (`biblioitemnumber`), KEY `bibinoidx` (`biblioitemnumber`), KEY `bibnoidx` (`biblionumber`), @@ -3921,6 +3919,34 @@ CREATE TABLE `article_requests` ( CONSTRAINT `article_requests_ibfk_4` FOREIGN KEY (`branchcode`) REFERENCES `branches` (`branchcode`) ON DELETE SET NULL ON UPDATE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; +-- +-- Table structure for table `biblio_metadata` +-- + +CREATE TABLE biblio_metadata ( + `id` INT(11) NOT NULL AUTO_INCREMENT, + `biblionumber` INT(11) NOT NULL, + `format` VARCHAR(16) NOT NULL, + `marcflavour` VARCHAR(16) NOT NULL, + `metadata` LONGTEXT NOT NULL, + PRIMARY KEY(id), + CONSTRAINT `record_metadata_fk_1` FOREIGN KEY (biblionumber) REFERENCES biblio (biblionumber) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + +-- +-- Table structure for table `deletedbiblio_metadata` +-- + +CREATE TABLE deletedbiblio_metadata ( + `id` INT(11) NOT NULL AUTO_INCREMENT, + `biblionumber` INT(11) NOT NULL, + `format` VARCHAR(16) NOT NULL, + `marcflavour` VARCHAR(16) NOT NULL, + `metadata` LONGTEXT NOT NULL, + PRIMARY KEY(id), + CONSTRAINT `deletedrecord_metadata_fk_1` FOREIGN KEY (biblionumber) REFERENCES deletedbiblio (biblionumber) ON DELETE CASCADE ON UPDATE CASCADE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; + /*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */; /*!40101 SET SQL_MODE=@OLD_SQL_MODE */; /*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */; -- 2.1.4