Lê estes dois artigos em vez disso:
– Como transferir produtos e clientes WooCommerce do site em produção para o site de Staging
– Como excluir encomendas WooCommerce de serem copiadas para o site em produção com HPOS
Como evitar que encomendas e produtos WooCommerce sejam sobrescritos durante o push
Sempre que usares o WP STAGING para fazer push de dados do site de Staging para o site em produção, tens de garantir que as encomendas, clientes e produtos WooCommerce no site em produção não são afetados e permanecem intactos.
Contents
Então, qual é a melhor forma de evitar que esses dados sejam sobrescritos durante o processo de push?
A resposta curta é: não consegues impedir que estes dados sejam copiados para o teu site de Staging, e não consegues juntar automaticamente encomendas e produtos WooCommerce do site em produção e do de Staging. Mas felizmente, há uma forma de não perder as tuas encomendas e produtos no site em produção, mas requer trabalho manual.
Pior ainda, alguns Plugins afirmam conseguir fazer essa junção, apenas para se descobrir que as encomendas e produtos foram sobrescritos sem qualquer aviso. Isto pode destruir a integridade dos dados, e tu nem dás por isso se não verificares cada encomenda e produto após essa junção.
Primeiro, precisamos de perceber onde o WooCommerce e o WordPress guardam encomendas, produtos, dados de utilizadores como moradas de clientes e todos os outros dados como posts e páginas:
- As encomendas e os produtos são guardados nas tabelas
wp_postsewp_postmeta, separados por um campo de custom post type chamado ‘orders’. - O próprio WordPress também guarda a maioria dos seus dados, como páginas, posts e até entradas de menu e tudo o resto, nas mesmas tabelas
wp_postsewp_postmeta - Os utilizadores são guardados em
wp_usersewp_usermeta
Muitas outras tabelas personalizadas do WooCommerce contêm dados como taxas de impostos, itens de encomenda e definições gerais do WooCommerce.
Cada nome de tabela do site de Staging começa com o prefixo wpstg(x)_
Os nomes das tabelas WooCommerce começam com o mesmo prefixo de tabela, mas também começam com _woocommerce, como wpstg(x)_woocommerce_
O x no prefixo da tabela é o número do teu site de Staging. Se tens vários sites de Staging, esse número incrementa, como wpstg1_, wpstg2_ e por aí adiante.
Se queres migrar dados específicos do teu site de Staging para o site em produção sem afetar qualquer dado transacional, tens três opções:
Opção 1) Exporta encomendas, dados de utilizadores e outros dados transacionais do site em produção e importa-os para o site de Staging antes de migrares o site de Staging para produção.
Isso permite-te copiar todo o site de Staging.
Esta é a forma recomendada se não tens conhecimento sobre a estrutura interna da base de dados. Explicamos abaixo como fazê-lo.
Opção 2) Exclui todas as tabelas da base de dados exceto a tabela _options e seleciona apenas a pasta de Plugins e Themes que queres enviar para o site em produção. Indo por este caminho garantes que nunca sobrescreves nem perdes dados no site em produção gerados após a criação do site de Staging. A maioria dos Plugins também guarda as suas definições na tabela _options. Portanto, isto também migra as definições dos Plugins para o site em produção.
Importante: Quaisquer outros dados em falta que estejam incluídos nas tabelas _posts e _postmeta precisam de ser criados de novo no site em produção por ti, manualmente, após o push.
Opção 3) Exclui todas as tabelas da base de dados modificadas do processo de push. Se fores por este caminho, não vais migrar o site de Staging inteiro, incluindo os seus dados!
Dependendo das tabelas excluídas (ex.: _posts, _postmeta), isto pode resultar em imagens em falta e até elementos de layout em falta no teu site em produção. Isto acontece principalmente se usares um editor visual como o WPBakery (antes conhecido como visual composer) ou o Elementor, porque esses editores guardam os seus designs nas tabelas _posts e _postmeta.
Nota: a Opção 1 é a forma recomendada.
Exportar e importar encomendas WooCommerce (opção recomendada)
A melhor opção é exportar as tuas encomendas e dados de produtos usando um Plugin separado de export/import no site em produção e depois importar os dados de volta para o site de Staging antes de fazeres o push.
Antes de exportares e importares quaisquer encomendas do teu site em produção, recomenda-se fortemente criar outro site de Staging para testar todo o processo antes de fazeres a importação e exportação no site de Staging principal!
Guia rápido:
- Coloca o teu site em modo de manutenção.
- Instala o Plugin “WooCommerce Sequential Order Numbers” no site em produção e no de Staging.
- Instala o Plugin “Order Export & Order Import for WooCommerce” no site em produção e no de Staging.
- Exporta encomendas WooCommerce do site em produção.
- Elimina todas as encomendas no site de Staging.
- Importa encomendas para o site de Staging.
- Faz push do site de Staging para o site em produção.
Guia passo a passo
Antes de avançares, precisas de instalar dois Plugins de terceiros:
Vais precisar de instalar o Plugin “WooCommerce Sequential Order Numbers” para garantir que os números das encomendas não mudam ao importar.
Exportar e importar encomendas pode alterar o ID das encomendas importadas, porque o ID de encomenda WooCommerce baseia-se no post ID do WordPress, um número único no WordPress. Por isso, se o post ID no teu site de Staging já estiver a ser usado por um post ou qualquer outro item, a encomenda importada vai receber um novo ID. Isto poderia resultar num novo ID para uma encomenda importada.
Por isso, para manter o ID de encomenda intacto, vais precisar de usar o Plugin “WooCommerce Sequential Order Numbers”.
Este Plugin adiciona uma nova entrada na base de dados para guardar o order id num campo separado. Isso permite ao teu site manter o order id separado e independente do post id.
- Inicia sessão no teu site em produção
- Vai a WebToffee Import Export > Export
- Seleciona “Order” como neste screenshot:

Depois escolhe “Quick” no próximo passo e clica em “Export”. Isto vai gerar um ficheiro CSV que podes guardar no teu computador.
- Vai ao teu site de Staging > WooCommerce > Orders.
- Seleciona todas as encomendas aí e move-as para o lixo. (Isto é importante, pois vais importar todas novamente no próximo passo, a partir do ficheiro que exportaste acima do site em produção.)

- Vai ao teu site de Staging.
- Abre WebToffee Import Export > Import

- Depois escolhe “Quick” e envia o ficheiro .csv que exportaste acima, e clica em “Import”, como mostrado neste screenshot:

Após este passo, todas as encomendas devem estar importadas no site de Staging, e o teu site de Staging está pronto para ser enviado para o site em produção seguindo este guia.
IMPORTANTE: Às vezes, ao importar encomendas para o site de Staging, pode haver um conflito entre IDs de encomendas e IDs de posts/páginas/attachments. Isto acontece porque adicionaste novos posts/páginas ou outro conteúdo no site de Staging.
Se isso acontecer, vais ver algo como neste screenshot durante o processo de importação:

Nesse caso, tens de editar o ficheiro .csv exportado usando Excel ou o LibreOffice Calc. Vale a pena referir que o LibreOffice Calc lida melhor com estes ficheiros, mas garante que selecionas a codificação UTF-8 ao abrir e guardar o ficheiro. Uma vez aberto o ficheiro, podes modificar os IDs de encomendas em conflito para qualquer número superior que ainda não esteja a ser usado pelos post IDs do teu site WordPress, ou eliminar os seus valores, que serão atribuídos novos durante a importação:

Depois, importa novamente o ficheiro, e todas as encomendas devem ser importadas com sucesso.
Dica: podes precisar de fazer o mesmo com produtos WooCommerce ou utilizadores. Para isso, recomendamos usar estes Plugins:
- Product Import Export for WooCommerce. (A versão gratuita não suporta export/import de Variable Products)
- Import Export WordPress Users.
Saltar e excluir dados WooCommerce do push (não recomendado)
Outra opção para excluir encomendas de serem sobrescritas é saltar todas as tabelas que contêm encomendas e produtos WooCommerce do push. Pelo menos terias de excluir as tabelas abaixo antes de fazeres push do site de Staging para o site em produção:
wpstg1_postswpstg1_postmetawpstg1_userswpstg1_usermeta
Todas as tabelas que começam com:wpstg1_woocommerce_


Infelizmente, esta seleção de tabelas iria excluir posts, artigos e quaisquer outros dados guardados nas tabelas _posts e _postmeta no nosso site WordPress. Por exemplo, páginas, posts, entradas de menu e outros dados relacionados com posts seriam excluídos e não copiados para o site em produção.
Por isso, segue este passo só quando não alteras quaisquer dados no teu site de Staging que precises de migrar para o site em produção.
Vê também: referência de tabelas da base de dados WooCommerce.
Palavras-chave: WooCommerce, excluir encomendas WooCommerce, excluir produtos WooCommerce
Artigos relacionados
- Como migrar produtos e clientes WooCommerce do site em produção para o site de Staging
- Como excluir encomendas WooCommerce de serem copiadas para o site em produção com “HPOS”
- Implementação inicial de tabelas WooCommerce personalizadas pronta para testes – HPOS
- Como eliminar todas as encomendas WooCommerce e dados de clientes no site de Staging | Eliminar transações WooCommerce
- Como exportar e importar utilizadores WordPress
- Aumentar o max_allowed_packet_size da base de dados