Quando instalamos o Magento e iniciamos nossos testes é comum criarmos alguns clientes de testes para efetuar os pedidos e testar a navegabilidade do cliente logado.
Também pode acontecer de você realizar testes de importação/migração de clientes para sua loja. E uma vez que você finaliza a bateria de testes, você quer zerar estas tabelas, limpar os registros e reiniciar os cadastros.
Solução de backend
Ao acessar o painel de controle do Magento, acessando:
Clientes > Gerenciar Clientes
Podemos selecionar os clientes que desejamos excluir do sistema, inclusive selecionar todos eles. Depois basta marcar no campo Ações a opção “Excluir“, e clicar em Enviar.
Com isso você consegue excluir os clientes do sistema, o problema aqui é que ele não reinicia as tabelas. Então se você tinha 300 clientes cadastrados, depois que excluir estes clientes e limpar a base, o próximo cliente que você cadastrar vai ter o ID=301.
Se isso não é problema pra você, essa solução do sistema já serve.
A solução SQL
A solução em sql eu considero sempre mais agressiva. Pois vai direto na fonte, e qualquer erro pode causar sérios danos ao sistema.
Aparentemente as tabelas referentes ao controle de clientes não sofreram grandes modificações nas atualizações do Magento, por isso o código abaixo vai funcionar em qualquer versão do sistema:
SET FOREIGN_KEY_CHECKS=0; TRUNCATE `customer_address_entity`; TRUNCATE `customer_address_entity_datetime`; TRUNCATE `customer_address_entity_decimal`; TRUNCATE `customer_address_entity_int`; TRUNCATE `customer_address_entity_text`; TRUNCATE `customer_address_entity_varchar`; TRUNCATE `customer_entity`; TRUNCATE `customer_entity_datetime`; TRUNCATE `customer_entity_decimal`; TRUNCATE `customer_entity_int`; TRUNCATE `customer_entity_text`; TRUNCATE `customer_entity_varchar`; ALTER TABLE `customer_address_entity` AUTO_INCREMENT=1; ALTER TABLE `customer_address_entity_datetime` AUTO_INCREMENT=1; ALTER TABLE `customer_address_entity_decimal` AUTO_INCREMENT=1; ALTER TABLE `customer_address_entity_int` AUTO_INCREMENT=1; ALTER TABLE `customer_address_entity_text` AUTO_INCREMENT=1; ALTER TABLE `customer_address_entity_varchar` AUTO_INCREMENT=1; ALTER TABLE `customer_entity` AUTO_INCREMENT=1; ALTER TABLE `customer_entity_datetime` AUTO_INCREMENT=1; ALTER TABLE `customer_entity_decimal` AUTO_INCREMENT=1; ALTER TABLE `customer_entity_int` AUTO_INCREMENT=1; ALTER TABLE `customer_entity_text` AUTO_INCREMENT=1; ALTER TABLE `customer_entity_varchar` AUTO_INCREMENT=1; SET FOREIGN_KEY_CHECKS=1;
Nessa solução não podemos usar filtros (cláusula where), então TODOS os clientes serão excluídos das tabelas pelo comando TRUNCATE. E na sequência utilizamos o comando ALTER TABLE para reiniciar a contagem dos ID’s nos cadastros – zerando assim as tabelas de clientes.
Outras informações
Se você inspecionar as tabelas do sistema, provavelmente vai encontrar outras tabelas referentes aos clientes que não estão em nosso script, como:
customer_eav_attribute customer_eav_attribute_website customer_form_attribute customer_group
Essas tabelas não devem ser zeradas, pois possuem informações de configuração para o sistema.
Para executar o script acima você deve abrir um SGBD como Sequel Pro ou phpMyAdmin, colar o código no campo Query (ou SQL), e mandar executar.
É recomendável reindexar os índices das tabelas após executar scripts SQL direto no banco de dados.
Caso deseje fazer o mesmo com as tabelas de vendas, leia o post Zerar Tabela de Vendas.
Em caso de dúvidas, use o fórum da Escola Magento.
Sucesso!