Что запускается первым: скрипт установки-обновления или скрипт обновления данных?


23

Я обновляю модуль до версии, скажем 0.1.3. Скажем, у меня есть эти файлы:

data/mymodule_setup/data-upgrade-0.1.2-0.1.3.php
sql/mymodule_setup/upgrade-0.1.2-0.1.3.php

Будет ли сначала запускаться скрипт обновления sql? Для сценария обновления данных требуется столбец, который будет добавлен в другой сценарий, поэтому, если его еще нет, произойдет сбой.

Ответы:


21

Заказ

  1. устанавливать
  2. установить скрипт обновления
  3. скрипт данных
  4. скрипт обновления данных

Более подробную информацию можно найти здесь: http://inchoo.net/magento/magento-install-install-upgrade-data-and-data-upgrade-scripts/

или http://www.sitepoint.com/magento-install-upgrade-data-scripts-explained/

Или благодаря @RickBuczynski следующая ссылка: http://vinaikopp.com/2014/11/03/magento-setup-scripts/

Дополнение: если у вас есть модули, которые зависят друг от друга, вы должны знать, что при установке / обновлении сразу нескольких модулей сначала запускаются все обычные сценарии обновления, а затем все сценарии обновления данных. Каждый в порядке загрузки модуля, т.е. с учетом зависимостей.


Я уже прочитал обе эти статьи, но в них нет ничего о порядке исполнения. Ваш ответ имеет смысл, но можете ли вы подтвердить, что это реальный порядок?
Вик

2
Я также добавил бы этот URL для справки: vinaikopp.com/2014/11/03/magento-setup-scripts Кажется, что это лучшая всесторонняя информация, которую я когда-либо читал по этому вопросу.
Рик Бучински

@Vic смотрите ссылку от Рика.
ЖЕЛЛЕЙ

@RickBuczynski Вау, потрясающая статья!
ЖЕЛЛЕЙ

2
Нет, все хорошо Все 3 ресурса полезны, в зависимости от вашего уровня опыта в этой области. Я получу свои очки в другой раз :-p
Рик Бучински

2

magento следовать этому порядку

  1. устанавливать
  2. установить скрипт обновления
  3. скрипт данных
  4. скрипт обновления данных

интересное начинается, если

в первом скрипте вы вставляете данные (создаете сайт)

и во втором сценарии вы читаете эти данные (категория находит сайт)

  1. Сценарии установки magento выполняются в рамках одной транзакции
  2. Сценарии обновления magento выполняются в другой транзакции
  3. уровень изоляции транзакции mysql по умолчанию REPEATABLE READ

повеселись

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.