Personalizar o banco de dados compilação e implantação usando a compilação e colaboradores de implantação

Visual Studiofornece pontos de extensibilidade que você pode usar para modificar o comportamento das ações a compilação e implantação para projetos de banco de dados. Esses pontos de extensão são definidos de forma que eles podem se aplicam a qualquer implementação de provedor (DSP) do esquema de banco de dados.

Pontos de extensibilidade disponíveis

Você pode criar uma extensão para os pontos de extensibilidade, conforme mostrado na tabela a seguir:

Ação

Tipo de Colaborador

Anotações

Criar

BuildContributor

Esse tipo de extensão é executado quando o projeto de banco de dados é criado depois que o modelo de projeto foi validado completamente. O colaborador de compilação pode acessar o modelo de concluído, juntamente com todas as propriedades da tarefa de compilação e quaisquer argumentos personalizados.

Implantar

DeploymentPlanModifier

Esse tipo de extensão é executado quando o projeto de banco de dados é implantado, como parte do pipeline de implantação, após o plano de implantação foi gerado, mas antes da implantação plano é executado. Você pode usar um DeploymentPlanModifier para modificar o plano de implantação, adicionando ou removendo as etapas. Os colaboradores de implantação podem acessar o plano de implantação, os resultados da comparação e os modelos de origem e destino.

Implantar

DeploymentPlanExecutor

Esse tipo de extensão é executado quando o plano de implantação é executado e fornece acesso somente leitura para o plano de implantação. O DeploymentPlanExectutor realiza ações com base no plano de implantação.

Cenários com suporte de extensibilidade

Você pode implementar a compilação ou implantação de colaboradores para habilitar cenários de exemplo a seguir:

  • Gerar a documentação do esquema durante uma compilação de projeto
    Para oferecer suporte a esse cenário, você implementar um BuildContributor e substituir o método OnExecute para gerar a documentação do esquema. Você pode substituir o método OnPopulateArguments para expor os argumentos padrão que controlam se a extensão é executado e especificar o nome do arquivo de saída.

  • Gerar um relatório de diferença quando um projeto de banco de dados é implantado.
    Para oferecer suporte a esse cenário, você implementar um DeploymentPlanExecutor que gera o arquivo XML quando o projeto de banco de dados é implantado.

  • Modificar o plano de implantação para alterar quando o movimento de dados ocorre
    Para oferecer suporte a esse cenário, você implementar um DeploymentPlanModifier e iterar sobre a reprodução de implantação. Para cada SqlTableMigrationStep no plano, você pode examinar o resultado de comparação para determinar se essa etapa deve executada ou ignorada.

  • Copiar arquivos para a pasta de saída de compilação quando um projeto de banco de dados é implantado.
    Para oferecer suporte a esse cenário, você pode implementa um colaborador de implantação e substituir o método OnEstablishDeploymentConfiguration para especificar quais arquivos marcados como DeploymentConfigurationExtension (por sistema de projeto) devem ser copiados para a pasta de saída. Você também pode modificar o colaborador para mesclar vários arquivos em um novo arquivo é copiado para a pasta de saída e é adicionado para o manifesto de implantação.

Além disso, você poderá expor personalizados pares de argumentos de valor do nome do seu colaborador que são gravados no arquivo de projeto do banco de dados. Você pode usar esses argumentos para permitir que o colaborador extrair informações de MSBuild ou para permitir o usuário final do seu colaborador para personalizar o comportamento. Por exemplo, você pode permitir que os usuários especifiquem o nome de um arquivo de entrada ou saído.

Tarefas comuns

Tarefas comuns

Conteúdo de apoio

Saiba mais sobre os pontos de extensibilidade: Você pode ler sobre as classes base que você pode usar para implementar os colaboradores de compilação e implantação.

Crie os colaboradores de amostra: Aprenda as etapas necessárias para criar um colaborador de compilação ou implantação. Se você seguir estas instruções passo a passo, você irá:

  • Crie um colaborador de compilação que gera um relatório que lista todos os elementos do modelo.

  • Crie um colaborador de implantação que altera o plano de implantação antes que ele seja executado.

  • Crie um colaborador de implantação que gera um relatório de implantação quando você implanta um projeto de banco de dados.

Você pode criar todos os seus colaboradores em um único assembly, ou entre vários assemblies, dependendo de como você deseja que os colaboradores distribuídos para sua equipe.

Distribua os colaboradores de compilação e implantação para os membros da equipe: Depois de verificar se os seus colaboradores funcionam corretamente, pode distribuí-las para sua equipe. Você pode pedir a cada membro da equipe para instalar e registrar o a extensão de recurso manualmente, ou você pode criar um programa de instalação simples para ela.

Cenários relacionados

Criar banco de dados personalizado refatoração tipos ou destinos

Criar e registrar regras adicionais para analisar o código do banco de dados

Gerar dados de teste especializado com um gerador de dados personalizados

Definir condições de personalizado para testes de unidade de banco de dados

Consulte também

Conceitos

Estender os recursos de banco de dados de Visual Studio

Criar e implantar os bancos de dados para um ambiente de desenvolvimento isolado

Criar e implantar os bancos de dados para um ambiente de produção ou de preparo