Вопрос

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

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

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

Это было полезно?

Решение

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

Как вы это реализуете, зависит от вас, например, вы могли бы подключиться к Перед постройкой настраивайте и выполняйте скрипты с помощью SQLExecute - использовать задание.

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

Другие советы

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top