48 lines
1.9 KiB
Perl
Executable file
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'";
|
|
}
|
|
},
|
|
};
|