Como implantar alterações de banco de dados de dev para produção no Magento

9

Estou ciente de que os módulos possuem scripts de instalação e configuração de dados para tornar o banco de dados portátil do dev para a produção.

Porém, no nosso caso, temos desenvolvedores de UI que adicionam atributos e produtos através da interface administrativa que é armazenada no banco de dados de desenvolvimento.

No dia do lançamento, não podemos repetir todas as etapas que fizemos no ambiente de desenvolvimento, pois será muito tedioso e demorado.

Existe uma maneira de lidar com essas alterações de banco de dados ao implantar.

Por enquanto, estamos realizando uma diferença entre o banco de dados dev e o prod prod e gerando um SQL que é executado no dia do lançamento. Mas isso é pouco perigoso, pois o banco de dados dev pode conter dados transacionais de teste e podemos acabar bloqueando as tabelas transacionais no prod se o nosso SQL tiver alguma instrução modificando as tabelas transacionais.

Há boas práticas para isso? Obrigado pela ajuda antecipadamente

Jeetendra Pujari
fonte

Respostas:

8

Existem extensões diferentes para migrar dados entre ambientes, mas usá-los é uma tarefa fácil. Você definitivamente não quer estragar seu ambiente de produção se algo der errado.

A única maneira correta de migrar dados é usar scripts de instalação.

Também permitirá a criação de novos ambientes (por exemplo, para novos peixes de sua equipe), que estarão atualizados com o estado atual das coisas.

Boa pergunta, a propósito.

user487772
fonte
Pessoalmente, descobri que alguns dos módulos do Magento Connect nem sempre são totalmente compatíveis em termos de execução de scripts de instalação do zero. Ainda preciso resolver exatamente o que aconteceu, mas a configuração da nossa loja está em um estado tal que, a partir de um banco de dados vazio, os scripts de instalação entram em conflito entre si e a loja não pode inicializar o banco de dados vazio. Para começar do zero novamente, precisaríamos aplicar os módulos um de cada vez em ordem. Ou corrija erros no software que não escrevemos.
nbering 02/09/15
Como você coloca em um script as alterações feitas no painel de administração do Magento? Por exemplo: adicione atributos e produtos ou altere a configuração de algumas extensões?
Andrea
11
@ Andrea, você simplesmente não faz alterações no painel de administração do Magento. Tudo através de scripts de instalação. É claro que, em algumas ocasiões, se você quiser tentar algo, ainda não tem certeza, você acaba alterando algo no admin, mas nesse caso essas alterações devem ser revertidas e aplicadas novamente através do script de instalação.
user487772
Como um FYI. Acabamos usando scripts de configuração para a maioria das alterações. Felizmente, nosso desenvolvedor de interface do usuário não se incomodou em criar scripts de configuração depois que ele entendeu. Você também pode criar um ticket para a criação do novo script de configuração e atribuí-lo aos seus desenvolvedores. Também temos uma equipe de marketing que usa o recurso CMS do magento. Em vez de fazer essas mudanças no ambiente de desenvolvimento, pedimos a eles para fazer essas mudanças diretamente na produção. Adicionamos uma função do CMS que só lhes daria acesso apenas aos recursos do CMS. Ocasionalmente, publicamos alterações do CMS de Prod para Stage e, em seguida, controle de qualidade e desenvolvimento usando um script personalizado.
Jeetendra Pujari