Como: implantar Banco de Projetos SQL utilizando Team System Construir 2010 (beta 2)
-
06-07-2019 - |
Pergunta
Alguém pode lançar alguma luz sobre como obter Criar Equipe 2010 Beta 2 para empurrar um projeto de banco de dados SQL para o servidor SQL?
Em VSTS 2008 você tinha acabado de adicionar comandos MSBuild com as metas atributo definido como "implantar" no arquivo TFSBuild.proj, mas eu estou tendo um pouco de dificuldade de tradução que para o novo fluxo de trabalho coisa xaml base que 2010 usos.
O que eu estou procurando é como acionar a implantação real dos próprios bancos de dados. Ele já está gerando os scripts de implantação muito bem.
Solução
Para quem ainda está procurando a resposta, use um processo Invoke que usos vsdbcmd.exe: http://msdn.microsoft.com/en-us/library/ff805001.aspx
Outras dicas
Aqui está um exemplo:
http://www.nablasoft.com/alkampfer/index.php/2009/10/06/deploy-a-database-project-with-tfs-build/
Pode ser que você está simplesmente perdendo o DeployToDatabase = true
Há uma outra solução para este problema se você não precisa de atualização de banco de dados incremental. Então, se recriar o banco de dados para cada compilação é ok com você o seguinte seria também trabalho.
Adicionar um alvo deploy para banco de dados arquivo de projeto
Configurar as definições de implantação para ‘My project settings
’. Essas definições serão usadas pelo servidor de compilação ao construir a solução. Ao construir localmente, as configurações usadas serão os de ‘My isolated development environment
’.
- Nas propriedades do projeto de banco de dados
Implantar ação precisa ser ‘Create a deployment script (.sql) and deploy the database
’; isso vai impedir a execução do script, ele só irá criá-lo.
- arquivo de projeto de banco de dados
Modificar o arquivo de projeto de banco de dados (projeto de banco de dados, clique com o botão direito, selecione Descarregar, clique com o botão direito novamente, selecione Editar [ProjectName] .dbproj) de
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
Para
<Project DefaultTargets="Build;Deploy" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
Quando o servidor de compilação cria a solução que contém o projeto de banco de dados, acrescentando as metas padrão também irá implantar o banco de dados. Esta compilação usará as configurações Implantar selecionados para ‘My project settings
’.
Pros
- Fácil de configurar
Contras
- Porque o destino padrão é alterada para construir e implementar, quando um desenvolvedor fazer Reconstruir a um local da solução, que também irá implantar o banco de dados (construção não só irá desencadear a implantação)
A coisa mais próxima que eu encontrei até agora é este post de Jim Lamb (o PM Team Foundation da Microsoft).
Aqui ele fala vagamente sobre a criação de um arquivo de proj personalizado e modificando o modelo de processo de compilação padrão para invocar o arquivo proj.
Ele também fala sobre usando o modelo de atualização, que eu tinha ignorado anteriormente. Aparentemente, o modelo de atualização pode ser usado para invocar uma definição de compilação de 2008. Eu prefiro não invocar e definir toda a construção com base no arquivo legado proj embora, mas pelo menos é uma opção.
Nem tópico contém informações suficientes para eu realmente fazer as modificações necessárias, mas me dá um ponto de partida razoável para um futuro experimentação.