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á:
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