Пишу модули для мадженты в которых есть скрипт обновления данных Setup/InstallData.php. Сейчас понадобилось добавить новые данные в уже существующем модуле. Начал работать с Setup/UpgradeData.php.
Для накатывания обновы разработчики системы любят использовать такой прием:
if (version_compare($context->getVersion(), '2.0.6', '<')) {
$this->upgradeVersionTwoZeroSix($customerSetup);
}
Я так понимаю что они опираются на версию системы и, в случае необходимости, вносят изменения. Так же в каждом модуле есть своя версия:
<module name="Vendor_CustomerAttributes" setup_version="2.1.0" schema_version="0.1.1"></module>
Опытным путем понял что setup_version это версия системы.
Я бы хотел иметь свою версию модуля и возможность обновлять модуль не зависимо от обновленности самой системы. Т.е. чтобы можно было на продакшене (или на локалке) сделать composer update и setup:upgrade и, в зависимости от старости модуля, выполнятся блоки кода которые обновят данные.
Итак, где можно найти пояснения для атрибутов в и как получать версию своего модуля в коде (как $context->getVersion())?
P.S. Получилось сумбурно, но если что-то не понятно, то допишу другими словами.