diff --git a/installer/data/mysql/atomicupdate/bug-27783.pl b/installer/data/mysql/atomicupdate/bug-27783.pl index 7fee204990..1f17eb6ea5 100644 --- a/installer/data/mysql/atomicupdate/bug-27783.pl +++ b/installer/data/mysql/atomicupdate/bug-27783.pl @@ -7,14 +7,19 @@ return { my ($args) = @_; my ($dbh, $out) = @$args{qw(dbh out)}; - $dbh->do(q{ - ALTER TABLE `background_jobs` - ADD `queue` VARCHAR(191) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'default' COMMENT 'Name of the queue the job is sent to' AFTER `type` - }); - $dbh->do(q{ - ALTER TABLE `background_jobs` - ADD KEY `queue` (`queue`) - }); + unless ( column_exists( 'background_jobs', 'queue' ) ) { + $dbh->do(q{ + ALTER TABLE `background_jobs` + ADD COLUMN `queue` VARCHAR(191) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT 'default' COMMENT 'Name of the queue the job is sent to' AFTER `type` + }); + } + + unless ( index_exists( 'background_jobs', 'queue' ) ) { + $dbh->do(q{ + ALTER TABLE `background_jobs` + ADD KEY `queue` (`queue`) + }); + } say $out "Added background_jobs.queue"; },