diff --git a/install/tools/5-database.php b/install/tools/5-database.php index 6406ee48..1e5f24ae 100644 --- a/install/tools/5-database.php +++ b/install/tools/5-database.php @@ -98,6 +98,11 @@ if(!$db->hasColumn('accounts', 'web_flags')) { success($locale['step_database_adding_field'] . ' accounts.web_flags...'); } +if(!$db->hasColumn('accounts', '2fa_type')) { + if(query("ALTER TABLE `accounts` ADD `2fa_type` tinyint NOT NULL DEFAULT 0 AFTER `web_flags`;")) + success($locale['step_database_adding_field'] . ' accounts.2fa_type...'); +} + if(!$db->hasColumn('accounts', 'email_verified')) { if(query("ALTER TABLE `accounts` ADD `email_verified` TINYINT(1) NOT NULL DEFAULT 0 AFTER `web_flags`;")) success($locale['step_database_adding_field'] . ' accounts.email_verified...'); diff --git a/system/migrations/50.php b/system/migrations/50.php new file mode 100644 index 00000000..112dddda --- /dev/null +++ b/system/migrations/50.php @@ -0,0 +1,28 @@ +hasColumn('accounts', '2fa_type')) { + $db->addColumn('accounts', '2fa_type', "tinyint NOT NULL DEFAULT 0 AFTER `web_flags`"); + } + + // add myaac_account_email_codes table + if (!$db->hasTable(TABLE_PREFIX . 'account_email_codes')) { + $db->exec(file_get_contents(__DIR__ . '/46-account_email_codes.sql')); + } +}; + +$down = function () use ($db) { + if ($db->hasColumn('accounts', '2fa_type')) { + $db->dropColumn('accounts', '2fa_type'); + } + + if ($db->hasTable(TABLE_PREFIX . 'account_email_codes')) { + $db->dropTable(TABLE_PREFIX . 'account_email_codes'); + } +};