+++ /dev/null
-DROP TABLE IF EXISTS `oai_sets_descriptions`;
-DROP TABLE IF EXISTS `oai_sets_mappings`;
-DROP TABLE IF EXISTS `oai_sets_biblios`;
-DROP TABLE IF EXISTS `oai_sets`;
-
-CREATE TABLE `oai_sets` (
- `id` int(11) NOT NULL auto_increment,
- `spec` varchar(80) NOT NULL UNIQUE,
- `name` varchar(80) NOT NULL,
- PRIMARY KEY (`id`)
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
-CREATE TABLE `oai_sets_descriptions` (
- `set_id` int(11) NOT NULL,
- `description` varchar(255) NOT NULL,
- CONSTRAINT `oai_sets_descriptions_ibfk_1` FOREIGN KEY (`set_id`) REFERENCES `oai_sets` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
-CREATE TABLE `oai_sets_mappings` (
- `set_id` int(11) NOT NULL,
- `marcfield` char(3) NOT NULL,
- `marcsubfield` char(1) NOT NULL,
- `marcvalue` varchar(80) NOT NULL,
- CONSTRAINT `oai_sets_mappings_ibfk_1` FOREIGN KEY (`set_id`) REFERENCES `oai_sets` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
-CREATE TABLE `oai_sets_biblios` (
- `biblionumber` int(11) NOT NULL,
- `set_id` int(11) NOT NULL,
- PRIMARY KEY (`biblionumber`, `set_id`),
- CONSTRAINT `oai_sets_biblios_ibfk_1` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE,
- CONSTRAINT `oai_sets_biblios_ibfk_2` FOREIGN KEY (`set_id`) REFERENCES `oai_sets` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
-) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-
-INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OAI-PMH:AutoUpdateSets','0','Automatically update OAI sets when a bibliographic record is created or updated','','YesNo');
$DBversion = "3.07.00.029";
if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
- my $installer = C4::Installer->new();
- my $full_path = C4::Context->config('intranetdir') . "/installer/data/$installer->{dbms}/atomicupdate/oai_sets.sql";
- my $error = $installer->load_sql($full_path);
- warn $error if $error;
+ $dbh->do(qq{
+DROP TABLE IF EXISTS `oai_sets_descriptions`;
+DROP TABLE IF EXISTS `oai_sets_mappings`;
+DROP TABLE IF EXISTS `oai_sets_biblios`;
+DROP TABLE IF EXISTS `oai_sets`;
+
+CREATE TABLE `oai_sets` (
+ `id` int(11) NOT NULL auto_increment,
+ `spec` varchar(80) NOT NULL UNIQUE,
+ `name` varchar(80) NOT NULL,
+ PRIMARY KEY (`id`)
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `oai_sets_descriptions` (
+ `set_id` int(11) NOT NULL,
+ `description` varchar(255) NOT NULL,
+ CONSTRAINT `oai_sets_descriptions_ibfk_1` FOREIGN KEY (`set_id`) REFERENCES `oai_sets` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `oai_sets_mappings` (
+ `set_id` int(11) NOT NULL,
+ `marcfield` char(3) NOT NULL,
+ `marcsubfield` char(1) NOT NULL,
+ `marcvalue` varchar(80) NOT NULL,
+ CONSTRAINT `oai_sets_mappings_ibfk_1` FOREIGN KEY (`set_id`) REFERENCES `oai_sets` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+CREATE TABLE `oai_sets_biblios` (
+ `biblionumber` int(11) NOT NULL,
+ `set_id` int(11) NOT NULL,
+ PRIMARY KEY (`biblionumber`, `set_id`),
+ CONSTRAINT `oai_sets_biblios_ibfk_1` FOREIGN KEY (`biblionumber`) REFERENCES `biblio` (`biblionumber`) ON DELETE CASCADE ON UPDATE CASCADE,
+ CONSTRAINT `oai_sets_biblios_ibfk_2` FOREIGN KEY (`set_id`) REFERENCES `oai_sets` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
+) ENGINE=InnoDB DEFAULT CHARSET=utf8;
+
+INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OAI-PMH:AutoUpdateSets','0','Automatically update OAI sets when a bibliographic record is created or updated','','YesNo');
+
+});
print "Upgrade to $DBversion done (Atomic update for OAI-PMH sets management)\n";
SetVersion($DBversion);
}
$/ = ';';
while (readdir $dirh) {
next unless $_ =~ /\.sql$/; # skip non SQL files
- my $installer = C4::Installer->new();
- $rv = $installer->load_sql( $atomicupd->{location}. "/$file" )? 0: 1;
- #Note: load_sql already warns
+ print "DEV atomic update : $_ \n";
+ my $installer = C4::Installer->new();
+ my $rv = $installer->load_sql( C4::Context->config('intranetdir') . '/installer/data/mysql/atomicupdate/' . $_ )? 0: 1;
}