Bug 14957: DBRev 21.06.00.038

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
Jonathan Druart 2021-10-26 15:49:59 +02:00
parent 38a71afebf
commit aab18ba056
3 changed files with 48 additions and 40 deletions

View file

@ -29,7 +29,7 @@ use vars qw{ $VERSION };
# - #4 : the developer version. The 4th number is the database subversion.
# used by developers when the database changes. updatedatabase take care of the changes itself
# and is automatically called by Auth.pm when needed.
$VERSION = "21.06.00.037";
$VERSION = "21.06.00.038";
sub version {
return $VERSION;

View file

@ -1,39 +0,0 @@
$DBversion = 'XXX'; # will be replaced by the RM
if ( CheckVersion($DBversion) ) {
unless ( TableExists('marc_overlay_rules') ) {
$dbh->do(q{
CREATE TABLE IF NOT EXISTS `marc_overlay_rules` (
`id` int(11) NOT NULL auto_increment,
`tag` varchar(255) NOT NULL, -- can be regexp, so need > 3 chars
`module` varchar(127) NOT NULL,
`filter` varchar(255) NOT NULL,
`add` TINYINT(1) NOT NULL DEFAULT 0,
`append` TINYINT(1) NOT NULL DEFAULT 0,
`remove` TINYINT(1) NOT NULL DEFAULT 0,
`delete` TINYINT(1) NOT NULL DEFAULT 0,
PRIMARY KEY(`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
});
}
$dbh->do(q{
INSERT IGNORE INTO systempreferences (`variable`, `value`, `options`, `explanation`, `type`) VALUES (
'MARCOverlayRules',
'0',
NULL,
'Use the MARC record overlay rules system to decide what actions to take for each field when modifying records.',
'YesNo'
);
});
$dbh->do(q{
INSERT IGNORE INTO permissions (module_bit, code, description) VALUES (
3,
'manage_marc_overlay_rules',
'Manage MARC overlay rules configuration'
);
});
NewVersion( $DBversion, 14957, "Add a way to define overlay rules for incoming MARC records)\n" );
}

View file

@ -0,0 +1,47 @@
use Modern::Perl;
return {
bug_number => "14957",
description => "Add a way to define overlay rules for incoming MARC records",
up => sub {
my ($args) = @_;
my ($dbh, $out) = @$args{qw(dbh out)};
unless ( TableExists('marc_overlay_rules') ) {
$dbh->do(q{
CREATE TABLE IF NOT EXISTS `marc_overlay_rules` (
`id` int(11) NOT NULL auto_increment,
`tag` varchar(255) NOT NULL, -- can be regexp, so need > 3 chars
`module` varchar(127) NOT NULL,
`filter` varchar(255) NOT NULL,
`add` TINYINT(1) NOT NULL DEFAULT 0,
`append` TINYINT(1) NOT NULL DEFAULT 0,
`remove` TINYINT(1) NOT NULL DEFAULT 0,
`delete` TINYINT(1) NOT NULL DEFAULT 0,
PRIMARY KEY(`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
});
say $out "Added new table 'marc_overlay_rules'";
}
$dbh->do(q{
INSERT IGNORE INTO systempreferences (`variable`, `value`, `options`, `explanation`, `type`) VALUES (
'MARCOverlayRules',
'0',
NULL,
'Use the MARC record overlay rules system to decide what actions to take for each field when modifying records.',
'YesNo'
);
});
say $out "Added new system preferences 'MARCOverlayRules'";
$dbh->do(q{
INSERT IGNORE INTO permissions (module_bit, code, description) VALUES (
3,
'manage_marc_overlay_rules',
'Manage MARC overlay rules configuration'
);
});
say $out "Added new permissions 'manage_marc_overlay_rules'";
},
}