From 39c00f2433abc899c0e5cbf612a074e534933e39 Mon Sep 17 00:00:00 2001 From: vohoangnhat Date: Tue, 11 Nov 2025 10:00:08 +0700 Subject: [PATCH 1/3] Update MySQL min max version in database version constants --- src/Model/Define.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Model/Define.php b/src/Model/Define.php index f5873bb6e..dd057afc9 100644 --- a/src/Model/Define.php +++ b/src/Model/Define.php @@ -388,7 +388,7 @@ class Define ]; public const DATABASE_VERSION = [ - 'mysql' => ['min' => '5.7.8', 'max_lt' => '8.1.0'], + 'mysql' => ['min' => '5.7.8'], 'mariadb' => ['min' => '10.2.7'], 'sqlsrv' => ['min' => '13.0.0.0'], ]; From ee721225050717489ef0dc0a2b8f99932bd3d2b6 Mon Sep 17 00:00:00 2001 From: vohoangnhat Date: Wed, 15 Apr 2026 08:56:31 +0700 Subject: [PATCH 2/3] Fix database version checks to use isset for max_lt condition --- src/Services/Installer/DatabaseForm.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Services/Installer/DatabaseForm.php b/src/Services/Installer/DatabaseForm.php index a99ee6615..ecfdea8bc 100644 --- a/src/Services/Installer/DatabaseForm.php +++ b/src/Services/Installer/DatabaseForm.php @@ -154,7 +154,7 @@ protected function checkDatabaseVersion() } // check max(less than) - if (array_has($database_version, 'max_lt')) { + if (isset($database_version['max_lt'])) { $message_lt = true; if (version_compare($version, $database_version['max_lt']) >= 0) { $result = false; @@ -167,7 +167,7 @@ protected function checkDatabaseVersion() $errorMessage = exmtrans('install.error.not_require_database_version_' . ($message_lt ? 'min_maxlt' : 'min'), [ 'min' => $database_version['min'], - 'max_lt' => ($message_lt ? $database_version['max_lt'] : null), + 'max_lt' => ($message_lt ? ($database_version['max_lt'] ?? null) : null), 'database' => Define::DATABASE_TYPE[$this->database_default], 'current' => $version ]); From 9bef41ece9e66255a94fd22aedfa9c52ff028709 Mon Sep 17 00:00:00 2001 From: vohoangnhat Date: Wed, 15 Apr 2026 09:47:14 +0700 Subject: [PATCH 3/3] Refactor database version check logic to simplify min version validation --- src/Services/Installer/DatabaseForm.php | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/src/Services/Installer/DatabaseForm.php b/src/Services/Installer/DatabaseForm.php index ecfdea8bc..961dcf971 100644 --- a/src/Services/Installer/DatabaseForm.php +++ b/src/Services/Installer/DatabaseForm.php @@ -146,28 +146,13 @@ protected function checkDatabaseVersion() $database_version = Define::DATABASE_VERSION[$this->database_default]; - $result = true; - $message_lt = false; // check min - if (version_compare($version, $database_version['min']) < 0) { - $result = false; - } - - // check max(less than) - if (isset($database_version['max_lt'])) { - $message_lt = true; - if (version_compare($version, $database_version['max_lt']) >= 0) { - $result = false; - } - } - - if ($result) { + if (version_compare($version, $database_version['min']) >= 0) { return true; } - $errorMessage = exmtrans('install.error.not_require_database_version_' . ($message_lt ? 'min_maxlt' : 'min'), [ + $errorMessage = exmtrans('install.error.not_require_database_version_min', [ 'min' => $database_version['min'], - 'max_lt' => ($message_lt ? ($database_version['max_lt'] ?? null) : null), 'database' => Define::DATABASE_TYPE[$this->database_default], 'current' => $version ]);