Pergunta

Eu estou olhando para algumas das "Melhores Práticas" para automatizar a implantação de Procedimentos Armazenados/Vista/Funções/alterações de Tabela de controle de origem.Eu estou usando StarTeam & FORMIGA, de modo a rotulagem é cuidado;o que eu estou procurando é o modo como algumas de vocês já se aproximou de automatizar a puxar desses objetos de origem - não necessariamente StarTeam.

Eu gostaria de terminar com um script que pode ser executado, check-in e rotulado.

Eu NÃO estou pedindo para alguém escrever que apenas algumas idéias ou abordagens que têm (ou não) trabalhou no passado.

Eu estou tentando limpar a bagunça e quer ter certeza de que eu posso conseguir isso tão perto de "direita" como eu posso.

Estamos armazenar as tabelas/views/funções etc.em arquivos individuais em StarTeam e nosso banco de dados SQL 2K5.

Foi útil?

Solução

Utilizamos SQL Compare a partir de redgate (http://www.red-gate.com/).

Temos um banco de dados de produção, desenvolvimento de banco de dados e cada desenvolvedor tem seu próprio banco de dados.

O desenvolvimento de banco de dados é sincronizada com as alterações que um desenvolvedor tem feito na sua base de dados quando se verificar as suas alterações.

O desenvolvedor também verifica em um script de sincronização e uma comparação relatório gerado pelo SQL Comparar.

Quando vamos implementar o nosso aplicativo, nós simplesmente sincronizar o banco de dados de desenvolvimento com a produção de banco de dados usando o SQL Comparar.

Isso funciona para nós, porque a nossa aplicação é para uso doméstico apenas.Se este não é o seu cenário, em seguida, olhava para o SQL Packager (também da redgate).

Outras dicas

Confira em Migrações (apontado por Andrew Peters no outro post)

Eu preferir separar modos de exibição, procedimentos e gatilhos (objetos que podem ser re-criados à vontade) a partir de tabelas.Para modos de exibição, procedimentos e gatilhos, basta escrever um trabalho que vou vê-los e re-criar o mais recente.

Para tabelas, eu prefiro ter uma versão do banco de dados tabela com uma linha.Use a tabela para determinar que novas atualizações não foram aplicadas.Em seguida, cada atualização é aplicada e o número de versão é atualizada.Se uma atualização falhar, você tem apenas que atualizar para verificar e você pode re-executar saber que as atualizações anteriores não vai acontecer de novo.

Como Carl apontado você pode usar um utilitário diff para criar seus scripts de atualização.RedGate faz um bom produto, mas o SQL Server 2k5 navios com TableDiff o que deve fazer o trabalho bem.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top