Как развернуть проект базы данных SQL с помощью Team System Build 2010 (бета-версия 2) - PullRequest
5 голосов
/ 27 октября 2009

Может кто-нибудь пролить свет на то, как заставить Team Build 2010 beta 2 перенести проект базы данных SQL на сервер SQL?

В VSTS 2008 вы просто добавляете команды MSBuild с атрибутом target, установленным на «deploy», в файле TFSBuild.proj, но у меня возникли небольшие проблемы с переводом этого в новый элемент xaml, основанный на рабочем процессе, который использует 2010.

Что я ищу, так это как инициировать фактическое развертывание самих баз данных. Он уже генерирует сценарии развертывания просто отлично.

Ответы [ 4 ]

6 голосов
/ 06 января 2011

Для тех, кто все еще ищет ответ, используйте Invoke Process, который использует vsdbcmd.exe: http://msdn.microsoft.com/en-us/library/ff805001.aspx

1 голос
/ 02 июня 2011

Существует еще одно решение этой проблемы, если вам не нужно постепенное обновление базы данных. Так что, если воссоздание базы данных для каждой сборки в порядке, сработало бы следующее:

Добавить цель развертывания в файл проекта базы данных

Настройте параметры развертывания для «My project settings». Эти параметры затем будут использоваться сервером сборки при создании решения. При локальном построении будут использоваться настройки из My isolated development environment.

  1. В свойствах проекта базы данных

Развертывание действий должно быть ‘Create a deployment script (.sql) and deploy the database’; это предотвратит выполнение скрипта, он только создаст его.

  1. Файл базы данных проекта

Изменить файл проекта базы данных (щелкните правой кнопкой мыши проект базы данных, выберите «Выгрузить», снова щелкните правой кнопкой мыши, выберите «Редактировать [ProjectName] .dbproj») от

<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">

К

<Project DefaultTargets="Build;Deploy" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">

Когда сервер сборки строит решение, содержащее проект базы данных, добавление целей по умолчанию также развернет базу данных. В этой сборке будут использоваться параметры развертывания, выбранные для «My project settings».

Плюсы

  • Простота настройки

Минусы

  • Поскольку цель по умолчанию изменяется на Build and Deploy, когда разработчик выполняет локальное перестроение решения, он также будет развертывать базу данных (сборка только не будет запускать развертывание)
1 голос
/ 05 ноября 2009

Вот пример:

http://www.nablasoft.com/alkampfer/index.php/2009/10/06/deploy-a-database-project-with-tfs-build/

Возможно, вам просто не хватает DeployToDatabase = true

0 голосов
/ 05 ноября 2009

Самое близкое, что я нашел до сих пор, это это сообщение от Джима Лэмба (руководитель Team Foundation в Microsoft).

Здесь он смутно говорит о создании собственного файла proj и изменении шаблона процесса сборки по умолчанию для вызова файла proj.

Он также говорит об использовании шаблона обновления, который я ранее игнорировал. Очевидно, что шаблон обновления можно использовать для вызова определения сборки 2008 года. Я бы предпочел не вызывать и не определять всю сборку на основе устаревшего файла proj, но, по крайней мере, это вариант.

Ни одна из тем не содержит достаточной информации, чтобы я мог внести необходимые изменения, но она дает мне разумную отправную точку для некоторых будущих экспериментов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...