Qual é executado primeiro, script de atualização de instalação ou script de atualização de dados?

23

Estou atualizando um módulo para a versão, digamos 0.1.3. Digamos que eu tenho esses arquivos:

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

O script de atualização do sql será executado primeiro? O script de atualização de dados requer uma coluna que será adicionada no outro script; portanto, se ainda não estiver lá, falhará.

Vic
fonte

Respostas:

21

O pedido é

  1. instalar
  2. instalar script de atualização
  3. script de dados
  4. script de atualização de dados

Mais informações podem ser encontradas aqui: http://inchoo.net/magento/magento-install-install-upgrade-data-and-data-upgrade-scripts/

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

Ou, graças a @RickBuczynski, o seguinte link: http://vinaikopp.com/2014/11/03/magento-setup-scripts/

Adição: Se você possui módulos que dependem um do outro, você deve saber que, quando vários módulos são instalados / atualizados ao mesmo tempo, primeiro todos os scripts de atualização normais são executados, depois todos os scripts de atualização de dados. Cada um na ordem em que o módulo é carregado, ou seja, com relação às dependências.

JELLEJ
fonte
Eu já li os dois artigos, mas não há nada sobre a ordem de execução. Sua resposta faz sentido, mas você pode confirmar com evidência que essa é a ordem real?
21373 Vic
2
Eu também adicionaria este URL para referência: vinaikopp.com/2014/11/03/magento-setup-scripts Parece ser a melhor informação detalhada que eu já li sobre o assunto.
Rick Buczynski
@Vic veja o link de Rick.
JELLEJ
@RickBuczynski uau, artigo incrível!
JELLEJ
2
Não, está tudo bem. Todos os três recursos são úteis, dependendo do seu nível de experiência nesta área. Vou pegar os meus pontos de algum outro :-P tempo
Rick Buczynski
2

o magento segue esta ordem

  1. instalar
  2. instalar script de atualização
  3. script de dados
  4. script de atualização de dados

o interessante começa se

no 1º script você insere dados (cria site)

e no segundo script você lê esses dados (a categoria encontra o site)

  1. scripts de instalação magento são executados dentro de uma transação
  2. scripts de atualização magento são executados em outra transação
  3. o nível de isolamento de transação mysql padrão REPEATABLE READ

diverta-se

Oleksandr Makhno
fonte