Bug 30481: Drop unique constraint deleteditemsstocknumberidx

Resolves a sync issue between database and schema caused by
differences between structure and upgrades. Note: newer
databases do not contain this index any longer.

Test plan:
Run dbrev.
Check SHOW CREATE TABLE deleteditems.
Verify that unique index has been dropped, regular index added.

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>
Signed-off-by: Fridolin Somers <fridolin.somers@biblibre.com>
This commit is contained in:
Marcel de Rooy 2022-04-07 11:59:53 +00:00 committed by Fridolin Somers
parent 35595922dd
commit 0b647518de

View file

@ -0,0 +1,21 @@
use Modern::Perl;
return {
bug_number => 30481,
description => "DB schema sync for deleteditems",
up => sub {
my ($args) = @_;
my ($dbh, $out) = @$args{qw(dbh out)};
my $sql = "ALTER TABLE deleteditems MODIFY COLUMN `stocknumber` varchar(32) default NULL"; # removes comment in db
$dbh->do($sql);
if( unique_key_exists('deleteditems', 'deleteditemsstocknumberidx') ) {
$sql = "ALTER TABLE deleteditems DROP KEY deleteditemsstocknumberidx";
$dbh->do($sql);
}
if( !index_exists('deleteditems', 'delitemstocknumberidx') ) {
$sql = "ALTER TABLE deleteditems ADD INDEX `delitemstocknumberidx` (`stocknumber`)";
$dbh->do($sql);
}
},
};