. */ namespace SP\Domain\Upgrade\Services; use SP\Domain\Config\Ports\ConfigDataInterface; use SP\Domain\Config\Ports\ConfigFileService; use SP\Infrastructure\File\FileException; use SP\Util\VersionUtil; /** * Class UpgradeUtil */ final class UpgradeUtil { /** * Normalizar un número de versión */ public static function fixVersionNumber(string $version): string { if (!str_contains($version, '.')) { if (strlen($version) === 10) { return substr($version, 0, 2) . '0.' . substr($version, 2); } return substr($version, 0, 3) . '.' . substr($version, 3); } return $version; } /** * @throws FileException */ public static function fixAppUpgrade(ConfigDataInterface $configData, ConfigFileService $config): void { // Fixes bug in 3.0.X version where some updates weren't applied // when upgrading from v2 // $dbVersion is always '' when upgrading from v2 if (!empty($configData->getDatabaseVersion()) && empty($configData->getAppVersion())) { $configData->setAppVersion(VersionUtil::getVersionStringNormalized()); $config->save($configData, false); } } }