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.

Foi útil?

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’.

  1. 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.

  1. 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.

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