Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Lidando com alterações de banco de dados entre ramificações/reversões de versão no ASP.NET


Uma boa maneira de acompanhar as alterações de esquema em várias ramificações de um projeto de desenvolvimento seria seguir um refatoração de banco de dados processo. Entre outros benefícios, esse tipo de processo incorpora o uso de scripts delta e de migração para aplicar alterações de esquema em cada ambiente (ou branch, no seu caso). A configuração poderia ser algo assim:
main
  src <-- ASP.NET project source
  db <-- Database create scripts
  delta <-- Database change scripts (SQL delta files)

branch
  src
  db <-- usually has the same contents as the copy in main branch
  delta <-- only the changes necessary for this branch

Toda vez que você precisar alterar o esquema do banco de dados para uma ramificação específica, você cria um script delta SQL que é usado para aplicar a alteração. Para facilitar, sugiro nomear cada arquivo de script para incluir data e hora de criação para mantê-los em sequência. Exemplo seria:
201102231435_addcolumn.sql
201102231447_addconstraint.sql
201103010845_anotherchange.sql

Adicione os arquivos delta ao controle do código-fonte na ramificação em que a alteração do esquema precisa ser feita. Você deve terminar com cada ramificação contendo exatamente o que é necessário para alterar o banco de dados correspondente. Alguns detalhes podem precisar ser ajustados para sua situação, dependendo de coisas como seu esquema de ramificação e se seu banco de dados é preservado ou não durante o processo de lançamento (em oposição a recriado).

Finalmente, para tentar simplificar esses conceitos, eu recomendaria uma ferramenta para ajudar a gerenciar o processo. Minha sugestão é dar uma olhada em DBDeploy / DBDeploy.NET . Eu tenho usado feliz por anos em todos os meus projetos.