Skip to content

Commit

Permalink
refactor(SetupCheck): Make mariadb and mysql version variables
Browse files Browse the repository at this point in the history
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
  • Loading branch information
susnux committed Jun 27, 2024
1 parent 6e48ca1 commit 6601adc
Showing 1 changed file with 37 additions and 5 deletions.
42 changes: 37 additions & 5 deletions apps/settings/lib/SetupChecks/SupportedDatabase.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,12 @@
use OCP\SetupCheck\SetupResult;

class SupportedDatabase implements ISetupCheck {

private const MIN_MARIADB = '10.6';
private const MAX_MARIADB = '11.4';
private const MIN_MYSQL = '8.0';
private const MAX_MYSQL = '8.4';

public function __construct(
private IL10N $l10n,
private IURLGenerator $urlGenerator,
Expand Down Expand Up @@ -48,13 +54,39 @@ public function run(): SetupResult {
$versionConcern = $major . '.' . $minor;
if (str_contains($versionlc, 'mariadb')) {
if (version_compare($versionConcern, '10.3', '=')) {
return SetupResult::info($this->l10n->t('MariaDB version 10.3 detected, this version is end-of-life and only supported as part of Ubuntu 20.04. MariaDB >=10.6 and <=11.4 is suggested for best performance, stability and functionality with this version of Nextcloud.'));
} elseif (version_compare($versionConcern, '10.6', '<') || version_compare($versionConcern, '11.4', '>')) {
return SetupResult::warning($this->l10n->t('MariaDB version "%s" detected. MariaDB >=10.6 and <=11.4 is suggested for best performance, stability and functionality with this version of Nextcloud.', $version));
return SetupResult::info(
$this->l10n->t(
'MariaDB version 10.3 detected, this version is end-of-life and only supported as part of Ubuntu 20.04. MariaDB >=%1$s and <=%2$s is suggested for best performance, stability and functionality with this version of Nextcloud.',
[
self::MIN_MARIADB,
self::MAX_MARIADB,
]
),
);
} elseif (version_compare($versionConcern, self::MIN_MARIADB, '<') || version_compare($versionConcern, self::MAX_MARIADB, '>')) {
return SetupResult::warning(
$this->l10n->t(
'MariaDB version "%1$s" detected. MariaDB >=%2$s and <=%3$s is suggested for best performance, stability and functionality with this version of Nextcloud.',
[
$version,
self::MIN_MARIADB,
self::MAX_MARIADB,
],
),
);
}
} else {
if (version_compare($versionConcern, '8.0', '<') || version_compare($versionConcern, '8.4', '>')) {
return SetupResult::warning($this->l10n->t('MySQL version "%s" detected. MySQL >=8.0 and <=8.4 is suggested for best performance, stability and functionality with this version of Nextcloud.', $version));
if (version_compare($versionConcern, self::MIN_MYSQL, '<') || version_compare($versionConcern, self::MAX_MYSQL, '>')) {
return SetupResult::warning(
$this->l10n->t(
'MySQL version "%1$s" detected. MySQL >=%2$s and <=%3$s is suggested for best performance, stability and functionality with this version of Nextcloud.',
[
$version,
self::MIN_MYSQL,
self::MAX_MYSQL,
],
),
);
}
}
} elseif ($databasePlatform instanceof PostgreSQLPlatform) {
Expand Down

0 comments on commit 6601adc

Please sign in to comment.