Nos últimos dois meses, mais ou menos, tenho procurado soluções ou práticas para lidar com o gerenciamento de versões nos bancos de dados. Estou procurando o que as pessoas veem como o melhor processo para lidar com isso.
Temos 3 ambientes para nossos bancos de dados:
- Desenvolvimento
- Teste de aceitação do usuário (UAT)
- Produção
O problema é que às vezes estamos fazendo alterações em várias coisas em nosso banco de dados de desenvolvimento e, quando chega a hora de implantar, alguns dos recursos podem não estar prontos para serem liberados no UAT.
Recentemente, começamos a usar o controle Red Gate SQL Source para armazenar todas as nossas entidades (com confirmações regulares).
Eu estava pensando em basear-me nos conjuntos de alterações (ou seja, dizer que tudo, desde o conjunto de alterações X e o retorno agora estão sendo enviados para o UAT), no entanto, isso significa que as pessoas estão apenas verificando seu código no controle de origem antes de fazer uma implantação que pode ser confusa ( especialmente porque as pessoas esquecem). Outro problema com a abordagem do conjunto de alterações é se houver um bug em um procedimento armazenado que precise ser corrigido, o número do conjunto de alterações acabaria fora do escopo do nosso conjunto de alterações máximo para a revisão, tornando-o, portanto, necessário. Para recriar o banco de dados a partir de um conjunto de alterações máximo, enviaríamos o bug novamente.
Alguma sugestão sobre um processo?
obrigado