From ac64f12ad68a7c116c55877ffa095d2e81caf357 Mon Sep 17 00:00:00 2001 From: Marcel de Rooy Date: Tue, 21 Dec 2021 15:07:56 +0000 Subject: [PATCH] Bug 28786: (QA follow-up) Upgrade atomicupdate to new style Test plan: Run dbrev again. Signed-off-by: Marcel de Rooy --- installer/data/mysql/atomicupdate/two-fa.perl | 34 ---------------- installer/data/mysql/atomicupdate/two-fa.pl | 39 +++++++++++++++++++ 2 files changed, 39 insertions(+), 34 deletions(-) delete mode 100644 installer/data/mysql/atomicupdate/two-fa.perl create mode 100755 installer/data/mysql/atomicupdate/two-fa.pl diff --git a/installer/data/mysql/atomicupdate/two-fa.perl b/installer/data/mysql/atomicupdate/two-fa.perl deleted file mode 100644 index f11c0d06849..00000000000 --- a/installer/data/mysql/atomicupdate/two-fa.perl +++ /dev/null @@ -1,34 +0,0 @@ -$DBversion = 'XXX'; # will be replaced by the RM -if( CheckVersion( $DBversion ) ) { - - $dbh->do(q{ - INSERT IGNORE INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `type` ) VALUES - ('TwoFactorAuthentication', '0', 'NULL', 'Enables two-factor authentication', 'YesNo') - }); - - if( !column_exists( 'borrowers', 'secret' ) ) { - $dbh->do(q{ - ALTER TABLE borrowers ADD COLUMN `secret` MEDIUMTEXT COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Secret for 2FA' AFTER `password` - }); - } - - if( !column_exists( 'deletedborrowers', 'secret' ) ) { - $dbh->do(q{ - ALTER TABLE deletedborrowers ADD COLUMN `secret` MEDIUMTEXT COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Secret for 2FA' AFTER `password` - }); - } - - if( !column_exists( 'borrowers', 'auth_method' ) ) { - $dbh->do(q{ - ALTER TABLE borrowers ADD COLUMN `auth_method` ENUM('password', 'two-factor') NOT NULL DEFAULT 'password' COMMENT 'Authentication method' AFTER `secret` - }); - } - - if( !column_exists( 'deletedborrowers', 'auth_method' ) ) { - $dbh->do(q{ - ALTER TABLE deletedborrowers ADD COLUMN `auth_method` ENUM('password', 'two-factor') NOT NULL DEFAULT 'password' COMMENT 'Authentication method' AFTER `secret` - }); - } - - NewVersion( $DBversion, 28786, "Add new syspref TwoFactorAuthentication"); -} diff --git a/installer/data/mysql/atomicupdate/two-fa.pl b/installer/data/mysql/atomicupdate/two-fa.pl new file mode 100755 index 00000000000..06fd3946946 --- /dev/null +++ b/installer/data/mysql/atomicupdate/two-fa.pl @@ -0,0 +1,39 @@ +use Modern::Perl; + +return { + bug_number => 28786, + description => "Add syspref TwoFactorAuthentication, fields secret and auth_method", + up => sub { + my ($args) = @_; + my ($dbh, $out) = @$args{qw(dbh out)}; + + $dbh->do(q{ + INSERT IGNORE INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `type` ) VALUES + ('TwoFactorAuthentication', '0', 'NULL', 'Enables two-factor authentication', 'YesNo') + }); + + if( !column_exists( 'borrowers', 'secret' ) ) { + $dbh->do(q{ + ALTER TABLE borrowers ADD COLUMN `secret` MEDIUMTEXT COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Secret for 2FA' AFTER `password` + }); + } + + if( !column_exists( 'deletedborrowers', 'secret' ) ) { + $dbh->do(q{ + ALTER TABLE deletedborrowers ADD COLUMN `secret` MEDIUMTEXT COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT 'Secret for 2FA' AFTER `password` + }); + } + + if( !column_exists( 'borrowers', 'auth_method' ) ) { + $dbh->do(q{ + ALTER TABLE borrowers ADD COLUMN `auth_method` ENUM('password', 'two-factor') NOT NULL DEFAULT 'password' COMMENT 'Authentication method' AFTER `secret` + }); + } + + if( !column_exists( 'deletedborrowers', 'auth_method' ) ) { + $dbh->do(q{ + ALTER TABLE deletedborrowers ADD COLUMN `auth_method` ENUM('password', 'two-factor') NOT NULL DEFAULT 'password' COMMENT 'Authentication method' AFTER `secret` + }); + } + }, +}; -- 2.25.1