Recentemente, comecei a trabalhar com controle de versão no meu desenvolvimento web usando o subversion. Isso funciona muito bem para gerenciar os arquivos que desenvolvo, mas não faz nada pelas alterações que às vezes preciso fazer nos bancos de dados. Que eu saiba, o servidor em que estou trabalhando não possui nenhum sistema de gerenciamento de banco de dados e provavelmente não seria capaz de fazê-lo instalar nada. Que opções existem para gerenciar bancos de dados nesse tipo de ambiente?
database
version-control
Kenneth
fonte
fonte
Respostas:
K. Scott Allen escreveu excelentes posts sobre isso há alguns anos. Eles podem ser "antigos" em termos de internet, mas sua solução ainda é muito boa.
fonte
As estruturas de migração são bibliotecas de códigos que fornecem uma API simples para automatizar alterações no banco de dados, com algum mecanismo para a versão do banco de dados.
Eu uso o Migrator.Net para alguns projetos. Crio uma classe para cada conjunto de alterações, e a estrutura fornece uma maneira simples de executar as alterações em um banco de dados. Também posso executar alterações para a frente e para trás, desde que eu codifique a lógica para fazer o downgrade e a atualização.
Em seguida, gerenciamos o código de migração em nosso VC como qualquer outro código.
fonte
Backups noturnos, é claro (pelo menos) .. Porque não é apenas a estrutura do banco de dados que você se preocupa.
Você tem várias opções:
1) Mantenha seus scripts alter no controle Source.
2) Após cada alteração de banco de dados, gere os scripts de banco de dados ... e armazene-os no controle Source, juntamente com um backup do banco de dados ao mesmo tempo. Dessa forma, você pode fazer uma comparação no arquivo Script Gerado.
fonte