Pergunta

Tem sido algumas semanas eu estou tentando encontrar uma explicação mais detalhada com exemplos como gerenciar minha mudança de banco de dados no patch de software.

Situação:

  • I implantar lançamento de aplicativo WPF para do utilizador. App utiliza arquivo de dados MSSQL para Dados do aplicativo armazenar (Implantando com o perfil do cliente e SqlServer Compact 3.5 pré-requisitos)
  • Na maior esquema de banco de desenvolvimento muda eu adicionar algum extra dados também
  • Eu estou tentando executar um patch / menor / grande atualização com Visual Studio 2008 publicação e msi

Quero atualizar os usuários do aplicativo e arquivo de banco de dados, mas não tocar os dados que foram armazenados no banco de dados. Parece fácil, mas não consigo encontrar na web como conseguir este feito com o Visual Studio publicar

O que eu tiver recolhido até agora são 2 opções:

  • Criar script SQL UPDATE para cada liberar e tentar banco de dados de atualização sobre 1º lançamento do programa depois de patching.
  • Criar projeto de instalação de banco de dados e tentar script de lá (nenhuma idéia de como fazer isso).

Eu ficaria feliz em ouvir o que alguns de vocês estão usando ou usaria tal caso. Alguns apontam para exemplos / detalhada explicação sobre como TODO seria fantástico. Eu não sou muito bom neste tipo de coisas implantação / banco de dados ... ainda ...:)

Agradecemos antecipadamente.

Foi útil?

Solução

Este artigo em " Rails Estilo de banco de dados Migrações em .Net " poder seja útil. Desde a ascensão do Rails tem havido uma série de trabalhos sobre as melhores práticas para migrações de banco de dados, que podem ser aproveitados em outras linguagens e plataformas.

Outras dicas

No meu projeto atual, usamos uma técnica chamada de banco de dados Integração Contínua.

Nós coletamos todos os scripts de alteração SQL (que podem estar criando / alterando tabelas, procedimentos armazenados, mas também a migração de dados, etc ...), em projeto ac # e implantá-los ao mesmo tempo que o resto do software.

Usando esta técnica podemos garantir que todos os bancos de dados para desenvolvedores são up-to-date, bem como, uma vez que está integrado no sistema de estúdio de construção visual.

Nós executar este script MSBuild para compilações local e para a implantação. Ele verifica um número de versão no datebase, e funciona todos os scripts com um número maior.

Eu não sou tão apaixonado por MSBuild, mas ele começa o trabalho feito.

Martin Fowler tem um artigo sobre banco de dados evolutiva projeto que tem algumas informações sobre isso.

Se você estiver usando estúdio de gerenciamento do SQL Server para fazer alterações, você pode usar a "Gerar Mudança Script" para deixá-lo de script as mudanças para você.

Se você adicionar classe Installer ao seu DLL ou EXE é Instale método será invocado durante a configuração (confira nossa MSDN para obter mais detalhes, VS pode fazer um mini proj configuração para você e, em seguida, você pode simplesmente copiar o esqueleto e atributos). Em seguida, você pode executar comandos SQL contra a CE e arquivos CE existentes de backup e até mesmo fazer um rollback se algo der errado (classe Installer tem métodos de seguir os passos transnacionais completa no nível de toda a instalação - o pedaço de coisa mente: -)

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