Atualmente eu uso um script de despejo e comprometo o banco de dados no repositório git.
--skip-extended-insert --skip-comments --skip-dump-date
significa que um diff pode me dar uma idéia justa do que mudou, mas tudo cai se eu tentar mesclar.
O WP_SITEURL, WP_HOME e todos os outros lugares que o wordpress armazena URLs completos precisam ser atualizados ao importar para outro host (teste, preparo, produção)
Alguém está usando um método melhor?
Questões principais:
- O Wordpress armazena URLs completas em todo o banco de dados (não portável)
- Muitos outros registros não relevantes são alterados
- valores de auto_increment (eu apenas os retiro, mas tive problemas de identificação)
- carimbos de data / hora (também podem ser removidos, potencialmente)
- registros transitórios * ... não faço ideia do que fazer com eles
Um processo que criou migrações com registro de data e hora, com apenas as coisas adicionadas ou removidas, seria ideal ... mas não tenho certeza se é possível?
database
migration
version-control
Jacob Dorman
fonte
fonte
Respostas:
Aqui estão duas soluções possíveis, ambas são ferramentas genéricas de controle de versão do MySQL, mas podem ser adaptadas ao seu fluxo de trabalho:
dbv.php
Essa ferramenta cria "migrações", que são basicamente scripts SQL, a partir das alterações detectadas no banco de dados. Esses scripts são armazenados em um diretório local e, portanto, podem ser confirmados no seu VCS atual (git, por exemplo).
É usado através de uma interface web PHP.
DBVC
Fundamentalmente semelhante à ferramenta anterior, isso se baseia em uma interface de linha de comando. É configurado através de um arquivo json. A principal diferença é que ele não gera automaticamente os arquivos de migração.
Há um problema pendente para integrar isso ao similar anterior, então é algo a procurar.
Plugins do Wordpress
Alguns plugins que podem ajudar na criação de um fluxo de trabalho repetível:
fonte
Estou fazendo isso no MYSQL.
Ele coloca todo o esquema e dados da tabela em seu próprio arquivo para que eu possa ver facilmente o que mudou.
Diferente da maioria das outras soluções nesse segmento, essa solução obtém os dados, o que é importante para um CMS.
Esta solução não usa nenhuma ferramenta, apenas um script de linha de comando.
editar: eu descobri que meu código mais antigo tinha um erro em que a ordem de importação era importante. tirar a
--compact
bandeira corrige o erro.Código mais antigo
e aqui está como importar
fonte