@@ -, +, @@ --- .../data/mysql/atomicupdate/bug-27783.pl | 21 ++++++++++++------- 1 file changed, 13 insertions(+), 8 deletions(-) --- a/installer/data/mysql/atomicupdate/bug-27783.pl +++ a/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"; }, --