Существует еще одно решение этой проблемы, если вам не нужно постепенное обновление базы данных. Так что, если воссоздание базы данных для каждой сборки в порядке, сработало бы следующее:
Добавить цель развертывания в файл проекта базы данных
Настройте параметры развертывания для «My project settings
». Эти параметры затем будут использоваться сервером сборки при создании решения. При локальном построении будут использоваться настройки из My isolated development environment
.
- В свойствах проекта базы данных
Развертывание действий должно быть ‘Create a deployment script (.sql) and deploy the database
’; это предотвратит выполнение скрипта, он только создаст его.
- Файл базы данных проекта
Изменить файл проекта базы данных (щелкните правой кнопкой мыши проект базы данных, выберите «Выгрузить», снова щелкните правой кнопкой мыши, выберите «Редактировать [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, когда разработчик выполняет локальное перестроение решения, он также будет развертывать базу данных (сборка только не будет запускать развертывание)