Controle de versão para objetos de banco de dados


19

O banco de dados em que nossos desenvolvedores estão trabalhando é muito grande (possui muitos objetos de banco de dados). Temos que controlar as mudanças nos objetos db (gerenciamento de mudanças). Nossa empresa não pode ter uma pessoa que seria responsável apenas por alterações no banco de dados. Portanto, precisamos de uma fonte segura para objetos de banco de dados, algo como controle de versão para código padrão, mas mais relacionado ao banco de dados, que possa sincronizar banco de dados e scripts. Qual é o melhor. Confiável, Barato, Funcional - escolha os dois :)


Respostas:




8
  • Projetos usuais de banco de dados / servidor no Visual Studio
  • Controle de origem SQL do RedGate

ambos são compatíveis com TFS e SVN / Hg


5

Nossa equipe usa projetos de banco de dados do Visual Studio 2010. A maioria dos nossos projetos depende do MS Team Foundation Server para controle de origem, que se integra perfeitamente, mas descobri recentemente que funcionará (com um pouco de dificuldade) em outros sistemas de origem. Temos um desses projetos no Perforce. Os recursos de compilação e implantação do VS2010 funcionam muito bem e podem ser automatizados usando o PowerShell (muito útil se, por exemplo, você quiser restaurar uma linha de base para testar implantações). É possível criar configurações diferentes se, por exemplo, você desejar um destino de implantação completo ou diferencial.

Você também pode incluir a população de dados ou outros scripts em sua implantação, e eles também estão sob controle de versão. Os objetos de banco de dados podem ser gerenciados verificando os scripts criados ou você pode usar a exibição de esquema mais intuitiva. Todas as dependências são rastreadas. Você pode gerenciar todos os aspectos do banco de dados do SQL Server sob controle de origem, incluindo todas as propriedades, arquivos e grupos de arquivos e permissões. Ótimo para manter padrões e práticas em vigor. Ele possui uma ferramenta visual de comparação de banco de dados. Prefiro a implementação desse recurso pelo Red-Gate, mas você não usa a comparação gráfica para criar implantações no VS2010 e tornou-se discutível à medida que me acostumei com as versões do MS e quanto elas me ajude a manter meus projetos de banco de dados limpos.

Infelizmente, não posso comparar esse nível de profundidade com outros sistemas para manter os bancos de dados sob controle de origem. Eu trabalhei um pouco com a "disciplina do desenvolvedor", mas não considero mais um sistema e nunca mais quero voltar a isso. Também teve uma breve passagem usando um plug-in SSMS para SVN, mas isso foi há algum tempo. Para isso, tivemos que usar o Red-Gate para gerar scripts de implantação.



0

O DB Ghost é uma boa ferramenta para versionar seus bancos de dados. Sincronize, compare, delta, copie, construa, escreva ... e pode ser executado via linha de comando para trabalhos automatizados.

http://www.dbghost.com/


0

FYI de controle de origem do SQL Server 2008 R2 (e versões anteriores): os objetos de banco de dados não são diretamente protegidos pelo provedor de controle de origem ... ou seja, você ainda precisa usar uma convenção disciplinada ... porque você ainda pode fazer alterações nos objetos de banco de dados usando outras ferramentas ... http: / /technet.microsoft.com/en-us/library/ms173550%28v=sql.105%29.aspx

Ao contrário dos projetos de banco de dados MS, o RedGate SQL Source Control conecta seus bancos de dados ao seu sistema de controle de versão… http://www.red-gate.com/products/sql-development/sql-source-control/


0

Acabamos de lançar nossa solução de Gerenciamento de alterações forçadas no banco de dados para MS-SQL.

Sim - sou tendencioso enquanto trabalho no DBmaestro

Acredito que nosso produto atenda às suas necessidades e eu o incentivaria a ler uma revisão abrangente e imparcial sobre o Solution Enforced Management Solution do veterano especialista em banco de dados Ben Taylor, que ele postou no LinkedIn https://www.linkedin.com/pulse/article/20140907002729 -287832-resolve-database-management-change-with-dbmaestro


0

O Sql Historian do nosso sistema remove a necessidade de "disciplina do desenvolvedor", mantendo automaticamente a versão mais recente dos seus objetos db no SVN ou no TFS. Ele foi projetado para ser transparente ao fluxo de trabalho atual de seus desenvolvedores, para que você tenha um registro perfeito no controle de versão sem perda de tempo ou reclamações da equipe.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.