Me veio do nada essa duvida,
Como fazer para o banco acompanhar as modificações do projeto? caso seja necessário retornar o projeto a versões anteriores, por exemplo.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Me veio do nada essa duvida,
Como fazer para o banco acompanhar as modificações do projeto? caso seja necessário retornar o projeto a versões anteriores, por exemplo.
Olá Anderson !
O git é um repositorio de código fonte não de dados, no caso teria que criar um script de criação das estruturas do banco de dados e então carregar essas informações, em outro lugar não no git.
Boa tarde Anderson,
Uma coisa relativamente comum é existir uma pasta chamada SQL ou Scripts dentro do projeto mesmo, e lá ficar os arquivos de script do banco de dados, tanto os de criação, como os de alterações estruturais que o banco vai sofrendo, e cada script de alteração deve conter o script de rollback para em caso de erro de deploy da versão, ser possível voltar o banco na estrutura usada na versão anterior.
Note que isso é apenas um controle da parte estrutural do banco, que pode ser versionado com o Git tranquilamente, agora os dados armazenados nas tabelas do banco em si, isso não tem como uma ferramente de versionamento controlar.
Ai parte para a área de infra de server mesmo, rotinas de bakcup, espelhamento do banco, raid, etc.
Abraços.
Olá Anderson,
Isso mesmo que o Emerson comentou.
Algumas ferramentas que podem te ajudar a fazer isso são o Flyway(https://flywaydb.org/) e o Liquibase(http://www.liquibase.org/).
Abraços
Show essa dica de ferramentas Lucas, vou dar uma boa pesquisada sobre elas! Valeu!!!
Boa mesmo
No meu contexto de desenvolvimento PHP, esse problema pode ser solucionado com a implementação do conceito de migrations, se não estou enganado.