Bug 35687: Upgrade to 23.06.00.013 may fail
There are reports that this update triggers the error Cannot change column 'itemnumber': used in a foreign key constraint 'tmp_holdsqueue_ibfk_1'
Test Plan:
1) Upgrade to post 23.06.00.013
2) Note the failure
3) Apply this patch set
4) Run updatedatabase.pl
5) Update should succeed!
Signed-off-by: Emily Lamancusa <emily.lamancusa@montgomerycountymd.gov>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Katrin Fischer <katrin.fischer@bsz-bw.de>
(cherry picked from commit a644f41a92
)
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This commit is contained in:
parent
07097737e6
commit
dd0057472b
1 changed files with 24 additions and 0 deletions
24
installer/data/mysql/atomicupdate/bug_35687.pl
Executable file
24
installer/data/mysql/atomicupdate/bug_35687.pl
Executable file
|
@ -0,0 +1,24 @@
|
|||
use Modern::Perl;
|
||||
|
||||
return {
|
||||
bug_number => "35687",
|
||||
description => "Upgrade to 23.06.00.013 may fail, drop fk and recreate after adding the pk to tmp_holdsqueue",
|
||||
up => sub {
|
||||
my ($args) = @_;
|
||||
my ( $dbh, $out ) = @$args{qw(dbh out)};
|
||||
|
||||
unless ( primary_key_exists( 'tmp_holdsqueue', 'itemnumber' ) ) {
|
||||
$dbh->do(q{ALTER TABLE tmp_holdsqueue DROP CONSTRAINT `tmp_holdsqueue_ibfk_1`});
|
||||
$dbh->do(q{ALTER TABLE tmp_holdsqueue ADD PRIMARY KEY (itemnumber)});
|
||||
$dbh->do(
|
||||
q{
|
||||
ALTER TABLE tmp_holdsqueue ADD CONSTRAINT `tmp_holdsqueue_ibfk_1`
|
||||
FOREIGN KEY (`itemnumber`) REFERENCES `items` (`itemnumber`)
|
||||
ON DELETE CASCADE ON UPDATE CASCADE
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
say $out "Set primary key for table 'tmp_holdsqueue' to 'itemnumber'";
|
||||
},
|
||||
};
|
Loading…
Reference in a new issue