Выполнение сценариев из проекта базы данных в Visual Studio
-
10-07-2019 - |
Вопрос
Я пытаюсь добавить некоторую хранимую процедуру к процессу сборки в 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.