Согласно ответу @ Anton, обновления базы данных применяются PHP-кодом в самих модулях Magento.
Если вы заглянете в любой из модулей кода (например, DOCROOT\app\code\core\Mage\Catalog\
), вы увидите папку с именем sql\modulename_setup
, которая содержит множество файлов, которые выполняют обновления базы данных, соответствующие их версии модуля.
Обратите внимание, что версия модуля (указанная в etc/config.xml
для этого модуля) не всегда будет соответствовать полной версии Magento, хотя для некоторых основных модулей, таких как Mage_Catalog, они довольно близки.
Когда вы загружаете новый код в файловую систему вашего веб-сервера, при следующей загрузке любой страницы Magento система проверит номер текущей версии базы данных, используя таблицу core_resource
в mysql.Если он меньше версии, указанной в config.xml
этого модуля, то Magento будет последовательно применять файлы в папке sql\modulename_setup
, чтобы data_version
соответствовал version
.
модуля.Файлы в папке sql
часто содержат операторы DDL и DML и могут быть ответственны за изменение структуры таблицы, ключей, отношений и вставку данных фикстуры.
Итак, краткий ответ на ваш вопрос «Как вы обновляетесь» - позволить Magento сделать обновление для вас.Попытка воссоздать вручную все эти запросы была бы поводом для катастрофы, особенно с учетом взаимозависимостей между модулями.
Одно важное замечание - обязательно сделайте резервную копию своей базы данных перед обновлением !!!