31 private $moduleResource;
36 private $dbVersionErrorsCache =
null;
46 $this->moduleList = $moduleList;
47 $this->moduleResource = $moduleResource;
58 $dbVer = $this->moduleResource->getDbVersion($moduleName);
59 return $this->isModuleVersionEqual($moduleName, $dbVer);
68 $dataVer = $this->moduleResource->getDataVersion($moduleName);
69 return $this->isModuleVersionEqual($moduleName, $dataVer);
78 private function getSchemaInfo($moduleName)
80 $dbVer = $this->moduleResource->getDbVersion($moduleName);
81 $module = $this->moduleList->getOne($moduleName);
82 $configVer = $module[
'setup_version'];
83 $dbVer = $dbVer ?:
'none';
85 self::KEY_CURRENT => $dbVer,
86 self::KEY_REQUIRED => $configVer,
87 self::KEY_MODULE => $moduleName,
88 self::KEY_TYPE =>
'schema' 100 if ($this->dbVersionErrorsCache ===
null) {
101 $this->dbVersionErrorsCache = [];
102 foreach ($this->moduleList->getNames() as $moduleName) {
104 $this->dbVersionErrorsCache[] = $this->getSchemaInfo($moduleName);
107 $this->dbVersionErrorsCache[] = $this->getDataInfo($moduleName);
112 return $this->dbVersionErrorsCache;
121 private function getDataInfo($moduleName)
123 $dataVer = $this->moduleResource->getDataVersion($moduleName);
124 $module = $this->moduleList->getOne($moduleName);
125 $configVer = $module[
'setup_version'];
126 $dataVer = $dataVer ?:
'none';
128 self::KEY_CURRENT => $dataVer,
129 self::KEY_REQUIRED => $configVer,
130 self::KEY_MODULE => $moduleName,
131 self::KEY_TYPE =>
'data' 142 private function isModuleVersionEqual($moduleName,
$version)
144 $module = $this->moduleList->getOne($moduleName);
145 $configVer = isset($module[
'setup_version']) ? $module[
'setup_version'] :
null;
147 if (empty($configVer)) {
isSchemaUpToDate($moduleName)
const VERSION_COMPARE_EQUAL
isDataUpToDate($moduleName)
__construct(ModuleListInterface $moduleList, ResourceInterface $moduleResource)