Como posso fazer atualizações em um site, em uma cópia de desenvolvimento, mas depois voltar as atualizações sem substituir o banco de dados em evolução do site ativo?

20

Tentei ser o mais descritivo possível no título e sei que essa pergunta já foi feita de várias formas, mas não consegui encontrar uma boa resposta para ela, e é para imaginar que ninguém resolveu esse problema.

É simples, uma vez que um site WP está ativo, se não é estático, ele continua atualizando seu banco de dados, adicionando novas postagens, novos pedidos de woocommerce, novas contas de usuário etc.

Se eu quiser fazer algumas alterações e atualizações importantes no site, a maneira mais simples e fácil de fazer isso é fazendo uma cópia em uma instalação local ou em outro domínio de desenvolvimento e fazendo todas as alterações lá. Depois que todas as alterações estiverem concluídas, quero copiá-las de volta ao site ativo.

Se as alterações forem apenas para arquivos, como tema e css, isso é um pouco fácil. No entanto, se as alterações envolverem alterações no banco de dados, como adicionar novos plug-ins e adicionar conteúdo que se conecte / se relacione a esses plug-ins, não será mais possível copiar o site novamente, porque ele substituirá todas as novas alterações adicionadas ao live banco de dados do site. todas as novas postagens, novos pedidos, novos uploads de imagens serão todos apagados.

Agora eu sei que cenários diferentes de casos têm soluções diferentes, mas não existe um método que resolva todos os casos?

Por exemplo, se as únicas alterações feitas no site ativo foram novas postagens, eu posso exportar e importar as postagens para o site dev e, em seguida, mover todo o site. O mesmo acontece com alguns outros itens, mas nem todo tipo de item. E o outro problema com isso é que a função de exportação e importação no wordpress é péssima. É tão rudimentar e você tem muito poucas opções para selecionar e exportar apenas itens específicos. Provavelmente já tentei todos os plug-ins "importação / exportação avançada" existentes e nada ainda precisa resolver esse problema.

Então, em outro tópico, alguém apontou esse plugin para basicamente instalar e trabalhar em um tema no site ativo, enquanto os usuários regulares ainda veem o tema existente, mas isso ainda não resolve todos os tipos de alterações. porque se você quiser fazer alterações no conteúdo, digamos no rodapé ou no menu de navegação, ainda serão refletidos no tema / site visível existente e poderão parecer bons no novo tema de teste, mas não no ativo.

Não há como desenvolver uma "ramificação" de um site no mesmo site / banco de dados e depois alternar? ou não há como desenvolver em um site de desenvolvimento, mas, na verdade, mesclar bancos de dados de maneira não destrutiva? Se você souber quais componentes e coisas afetou, não haveria uma maneira de fazer isso? ou você precisaria ser um mestre do MySQL para tentar isso?

Não posso ser o único a ter esse enigma. Não consigo imaginar que não haja solução para esse problema. Como isso pode ser feito?

Desde já, obrigado.

James
fonte
3
Todo mundo tem esse problema e não existe uma solução simples, mantenha o código no controle de revisão, despeje o sql frequentemente em um servidor intermediário, crie bloqueios de manutenção durante as migrações (5 a 10 minutos).
quer
Eu discordo. O plugin RAMP do CrowdFavorite é uma solução simples para aqueles que precisam preparar e implantar conteúdo. Chamando-a de "solução simples" pode ser um estiramento, mas é bom e qualquer desenvolvedor deve ser capaz de configurá-lo (requer SSH e MySQL acesso remoto etc ..)
jb510
Alguém já tentou sitepush ? Não me importo de pagar US $ 250 pela Ramp se for uma solução melhor, mas é difícil ver de fora como esses sistemas funcionam sem a implantação e os testes completos, eu acho.
James
Não utilizou o sitepush. Parece que ele empurra DBs completos (como Migrate WP DB Pro). É bom para implantar um site estático, mas falha em uma dinâmica ao vivo (por exemplo, novas postagens / comentários acontecendo). Na verdade, o RAMP gerencia a diferença entre os bancos de dados e as mesclagens, não substitui o banco de dados ativo.
Jb510 8/04
Você pode usar o DBV PHP , um projeto de código aberto, colocando seu banco de dados sob controle de versão. Ele ainda tem uma interface do usuário para facilitar o gerenciamento. Outra opção seria mudar para, por exemplo, o Laravel, que possui uma ferramenta de migração incorporada ao seu aplicativo CLI.
Kaiser

Respostas:

2

Realmente não é uma maneira fácil de fazer o que você deseja, mas o que eu faria é fazer uma captura instantânea do seu site, implementar mudanças no yoru e, se alguma coisa travar restaurar, tente novamente. Pode demorar um pouco, mas fiz isso recentemente quando, de alguma forma, bloqueei um site em que estava trabalhando. Pode não ser o caminho "certo" para resolver o problema, no entanto, para mim, ele funciona. Boa sorte.

user57081
fonte
Como é possível que a equipe do WP não pense em uma maneira profissional de fazer isso? é 2018 !!
Asael2