![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/framework/Setup/Patch/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Framework\Setup\Patch; use Magento\Framework\Module\ModuleList; use Magento\Framework\Setup\UpToDateValidatorInterface; /** * Allows to validate if data patches is up to date or not */ class UpToDateData implements UpToDateValidatorInterface { /** * @var PatchHistory */ private $patchHistory; /** * @var PatchReader */ private $patchReader; /** * @var PatchBackwardCompatability */ private $patchBackwardCompatability; /** * @var ModuleList */ private $moduleList; /** * UpToDateData constructor. * @param PatchHistory $patchHistory * @param PatchReader $dataPatchReader * @param PatchBackwardCompatability $patchBackwardCompatability * @param ModuleList $moduleList */ public function __construct( PatchHistory $patchHistory, PatchReader $dataPatchReader, PatchBackwardCompatability $patchBackwardCompatability, ModuleList $moduleList ) { $this->patchHistory = $patchHistory; $this->patchReader = $dataPatchReader; $this->patchBackwardCompatability = $patchBackwardCompatability; $this->moduleList = $moduleList; } /** * @return string */ public function getNotUpToDateMessage() : string { return 'Data patches are not up to date'; } /** * @return bool */ public function isUpToDate() : bool { foreach ($this->moduleList->getNames() as $moduleName) { foreach ($this->patchReader->read($moduleName) as $patchName) { if (!$this->patchBackwardCompatability->isSkipableByDataSetupVersion($patchName, $moduleName) && !$this->patchHistory->isApplied($patchName)) { return false; } } } return true; } }