Выполнение скриптов из проекта базы данных в visual studio - PullRequest
2 голосов
/ 03 августа 2009

Я пытаюсь добавить хранимую процедуру в процесс сборки в Visual Studio (используя MSBuild).

У меня есть проект базы данных (* .dbp), добавленный к моему решению, однако, в отличие от некоторых других проектов баз данных, доступных в VS, я не могу его собрать или запустить. (Я считаю, что это файл проекта, который я хочу, поскольку я использую SQL2000)

Как я могу заставить сценарии SQL работать при сборке проекта? Я могу запустить сценарии, щелкнув правой кнопкой мыши и нажав Run.

Ответы [ 2 ]

2 голосов
/ 03 августа 2009

Проекты баз данных не строятся как обычные проекты. Если вы хотите выполнять скрипты внутри этого проекта, я бы посоветовал расширить связанные с ними проекты, которые совместимы с MSBuild (csproj, vbproj и т. Д.), И ссылаться на них / исполнять ваши скрипты оттуда с помощью выбранного вами инструмента.

Как вы реализуете это, зависит от вас, например, вы можете подключиться к BeforeBuild target и выполнить сценарии, используя задачу SqlExecute .

FWIW, мы должны поддерживать SQL Server 2000, 2005, 2008+, поэтому задача становится намного сложнее; думаю, NVarchar (max) (2005+) против NText (2000+) плюс все sp переименования и т. д. между версиями. Нам также нужен был единый скрипт, который разработчики, QA и установщик использовали для обеспечения согласованности. Таким образом, наш подход представлял собой пользовательский инструмент, позволяющий заменять токены / ключевые слова внутри сценариев, что обеспечивает гибкость между различными версиями SQL Server и установками клиентов (например, сведения о пользователе / ​​имени входа, имена БД), а также интеграцию в различные технологии, позволяющие запускать сценарии из командная строка, MSBuild, пользовательские действия MSI с использованием проектов Wix или все, что нам нужно для запуска.

1 голос
/ 04 августа 2009

База данных проектов может быть построена.

Их нельзя запустить - их можно развернуть.

При развертывании проект строится, а затем развертывается. Код будет развернут вместе со сценариями до и после сборки, а также со сценариями до и после развертывания.

Таким образом, если вы хотите, чтобы скрипты запускались при построении проекта, вам нужно заглянуть в Pre-Build и Post-Build в разделе События сборки в свойствах Project.

...