Koha/installer/data/mysql/db_revs/230600053.pl
Tomas Cohen Arazi 5bbc0090f3
Bug 33970: DBRev 23.06.00.053
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
2023-10-25 12:09:48 -03:00

48 lines
1.9 KiB
Perl
Executable file

use Modern::Perl;
return {
bug_number => "33970",
description => "Bind ILL attributes to specific backends",
up => sub {
my ($args) = @_;
my ( $dbh, $out ) = @$args{qw(dbh out)};
if ( !column_exists( 'illrequestattributes', 'backend' ) ) {
$dbh->do(
q{ ALTER TABLE illrequestattributes ADD COLUMN backend varchar(80) NOT NULL COMMENT 'API ILL backend name' AFTER illrequest_id }
);
say $out "Added column 'illrequestattributes.backend'";
$dbh->do(q{ ALTER TABLE illrequestattributes DROP FOREIGN KEY illrequestattributes_ifk });
say $out "Removed 'illrequestattributes.illrequestattributes_ifk' foreign key";
$dbh->do(q{ ALTER TABLE illrequestattributes DROP PRIMARY KEY });
say $out "Removed 'illrequestattributes' primary key";
$dbh->do(q{ ALTER TABLE illrequestattributes ADD PRIMARY KEY( illrequest_id, backend, type (191)) });
say $out "Added new primary key in 'illrequestattributes'";
$dbh->do(
q{
ALTER TABLE illrequestattributes ADD CONSTRAINT illrequestattributes_ifk
FOREIGN KEY(illrequest_id)
REFERENCES illrequests(illrequest_id)
ON DELETE CASCADE ON UPDATE CASCADE;
}
);
say $out "Added 'illrequestattributes.illrequestattributes_ifk' foreign key";
$dbh->do(
q{
UPDATE
illrequestattributes ira,
illrequests ir
SET ira.backend = ir.backend
WHERE ira . illrequest_id = ir.illrequest_id;
}
);
say $out "Updated 'backend' column for all pre-existing rows in 'illrequestattributes'";
}
},
};