Cursos Magento

Escondendo dados na hora de exportar seu banco

, ,

Atualizado em 28 de julho de 2022

Seja você um lojista, desenvolvedor, ou administrador de uma loja Magento, uma hora ou outra você precisará exportar seu banco de dados.

Esta é uma tarefa comum quando queremos fazer backup da nossa base, como já vimos por aqui há algumas semanas.

Mas como fazemos para ocultar os dados de nossos clientes na hora de exportar a base da nossa loja? Isso pode ser uma preocupação comum quando falamos de terceirização, não é mesmo?

Não vamos querer expor os dados de nossos clientes, pedidos, logs e outras informações para um desenvolvedor freelance que não conhecemos ou confiamos o suficiente.

Tem solução. Veja como fazer.

A ferramenta certa

Já falei dela no Magento 2: O Curso e também no curso gratuito Ferramentas e Dicas matadoras para o desenvolvimento Magento, mas só recentemente conheci um de seus recursos que nos ajudará nesta tarefa.

Estou falando do n98 Magerun. Trata-se de uma ferramenta gratuita e de código aberto que você instala no mesmo servidor de sua loja Magento. Uma vez instalado, você pode chamá-la à partir da pasta raiz (via terminal) do seu Magento e executar uma série de tarefas. Entre elas, a tarefa de exportar o banco de dados.

O que pouca gente sabe (pelo menos eu) é que é possível ocultar dados de tabelas durante esta exportação. Tudo isso de forma relativamente simples.

Caso você não tenha instalado o n98, basta acessar o site deles e copiar as duas linhas de comando de acordo com a versão do seu Magento. Cole os comandos direto no terminal do servidor (ou ambiente local) e pronto.

Instalação do n98-magerun

Exportando tabelas sem os dados de clientes, pedidos, etc

A ferramenta acima permite exportar a base inteira do Magento com o comando db:dump.

Com o n98-magerun é possível especificar quais tabelas queremos que sejam exportadas sem os dados.

Para isso usamos o parâmetro --strip="tabela" junto com nosso comando db:dump. Veja alguns exemplos:

  • Ignorando dados da tabela admin_user e customer_entity:
    n98-magerun db:dump arquivo.sql --strip="admin_user customer_entity"
  • Ignorando dados de tabelas que começam com customer_:
    n98-magerun db:dump arquivo.sql --strip="customer_*"

Isso também poderia ser feito com mysqldump. Você poderia ignorar as tabelas que deseja ao fazer a exportação usando --ignore-table e depois exportar somente a estrutura da tabela com --no-data. Mas daria muito mais trabalho. 🙂

Ignorando grupos de tabelas (o “pulo do gato”)

Ao invés de especificar o nome das tabelas individualmente, podemos especificar grupos inteiros. Desta forma o n98 faz o trabalho pra gente sem precisar entender tão a fundo as tabelas do Magento.

Exemplo: n98-magerun db:dump arquivo.sql --strip="@customers @sales @quotes @log"

Desta forma, as tabelas que envolvem clientes, pedidos, carrinhos e logs serão ignoradas na sua exportação. Você pode usar um ou mais grupos, separados por espaço.

Digite n98-magerun db:dump --help para obter uma lista de possibilidades.

Grupos de tabelas que podemos esconder

Lembre-se:

Os dados de seus clientes podem estar em tabelas de módulos de disparo de e-mail e outras tabelas criadas por outros módulos não nativos do Magento. Nestes casos, cabe a você identificar estas tabelas e adicioná-las à lista acima.

De onde veio este tem muito mais

No Magento 2: O Curso eu mostro na prática mais de 10 ferramentas Magento que ajudam você no seu dia a dia de desenvolvedor. Aprender a desenvolver para Magento é um grande desafio. Mas não precisa ser assim.

Além das ferramentas, veremos como desenvolver módulos e componentes, e entender tudo sobre o que realmente importa para se tornar um(a) desenvolvedor(a) Magento.

Se você (ainda) não é um(a) desenvedor(a) Magento, talvez prefira conhecer melhor o Magento e seus recursos. Neste outro treinamento falaremos tudo sobre a administração de uma loja Magento, e é onde explico em detalhe como funciona cada recurso da plataforma.

Por enquanto é só. Na semana que vem tem mais.

Últimos posts por Ricardo Martins (exibir todos)
Comentários

Deixe seu comentário

[fbcomments url="https://www.magenteiro.com/blog/magento-2/escondendo-dados-exportando-banco/"]