@@ -, +, @@ --- installer/data/mysql/atomicupdate/bug_17196.sql | 29 +++++++++++++++++++++++ installer/data/mysql/kohastructure.sql | 31 +++++++++++++++++++++++-- 2 files changed, 58 insertions(+), 2 deletions(-) create mode 100644 installer/data/mysql/atomicupdate/bug_17196.sql --- a/installer/data/mysql/atomicupdate/bug_17196.sql +++ a/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; --- a/installer/data/mysql/kohastructure.sql +++ a/installer/data/mysql/kohastructure.sql @@ -181,7 +181,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`), @@ -535,7 +534,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`), @@ -3795,6 +3793,35 @@ CREATE TABLE `hold_fill_targets` ( REFERENCES `branches` (`branchcode`) ON DELETE CASCADE 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 */; --