container = $container; $this->checkDatabaseRequirements(); } protected function checkDatabaseRequirements() { $databaseRequirements = [ 'mysql' => '5.7.0', 'mariadb' => '10.1.0', ]; $databaseHelper = new \Espo\Core\Utils\Database\Helper($this->container->get('config')); $databaseType = $databaseHelper->getDatabaseType(); $fullVersion = $databaseHelper->getPdoDatabaseVersion($this->container->get('entityManager')->getPDO()); if (preg_match('/[0-9]+\.[0-9]+\.[0-9]+/', $fullVersion, $match)) { $version = $match[0]; $databaseTypeLc = strtolower($databaseType); if (isset($databaseRequirements[$databaseTypeLc])) { $requiredVersion = $databaseRequirements[$databaseTypeLc]; if (version_compare($version, $requiredVersion, '<')) { $msg = "Your {$databaseType} version is not supported. Please upgrade {$databaseType} to a newer version ({$requiredVersion} or later)."; throw new \Espo\Core\Exceptions\Error($msg); } } } } }