Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Usando controle de versão (Git) em um banco de dados MySQL


Você pode fazer backup de seu banco de dados em um repositório git. Claro, se você colocar os dados no git de forma binária, você perderá toda a capacidade do git de armazenar os dados de forma eficiente usando diffs (alterações). Portanto, a melhor prática número um é esta:armazene os dados em um formato serializado de texto.

mysqldump é um programa adequado para ajudá-lo a fazer isso. Não é perfeito embora. Se alguma coisa perturbar a ordem de serialização dos itens (por exemplo, como resultado da criação de novas tabelas, etc.), as quebras artificiais entrarão no diff. Isso diminuirá a eficiência do armazenamento. Você poderia escrever um serializador personalizado para serializar apenas as alterações - mas então você está fazendo o trabalho duro que o git já é bom. Basta usar o dump sql.

Dito isto, o que você está querendo fazer não é o que os desenvolvedores normalmente querem dizer quando falam sobre colocar o banco de dados no git. Por exemplo, se você ler o link postado por @eggyal (link para codinghorror ) você verá que o que realmente é colocado no git são os scripts necessários para gerar o banco de dados inicial. Pode haver scripts adicionais, como aqueles para preencher os dados do banco de dados com um estado limpo ou para preenchê-los com dados de teste. Todos esses scripts sql são arquivos de texto e praticamente o mesmo formato que o dump sql que você obteria do mysqldump. Portanto, não há motivo para você não fazer isso também com seus dados do dia-a-dia.