From 479c1b4cab12cde16c5f1890e51c2e0cf2d956da Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Thu, 7 Apr 2022 11:59:53 +0000 Subject: [PATCH] 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 Signed-off-by: Victor Grousset/tuxayo --- .../data/mysql/atomicupdate/bug_30481.pl | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100755 installer/data/mysql/atomicupdate/bug_30481.pl diff --git a/installer/data/mysql/atomicupdate/bug_30481.pl b/installer/data/mysql/atomicupdate/bug_30481.pl new file mode 100755 index 0000000000..2196c63ee6 --- /dev/null +++ b/installer/data/mysql/atomicupdate/bug_30481.pl @@ -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); + } + }, +}; -- 2.35.1