Подтвердить что ты не робот

VS2012 После развертывания script, ссылаясь на несколько других скриптов

Я создал проект базы данных в VS2012. Я добавил структуру базы данных. Он отлично работает, чтобы публиковать и сравнивать базы данных.

Теперь в публикации я хочу автоматически загружать несколько таблиц с данными по умолчанию.

Я создал пять script файлов с операторами INSERT, созданными из SQL Management Studio. Они были добавлены в папку script в моем проекте базы данных.

Тогда я устанавливаю BuildAction=PostDeploy. Это прекрасно работает. НО по какой-то причине возможно только, что ONE script установлен на PostDeploy....

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

Затем я создал один файл PostDeploy.sql и попытался ссылаться на все остальные script файлы. Заголовок файла дает указания:

Post-Deployment Script Template                         
----------------------------------------------------------------------------
This file contains SQL statements that will be appended to the build script.
Use SQLCMD syntax to include a file in the post-deployment script.
Example:      :r .\myfile.sql

Итак, я пишу файл:

:r .\MyScript1.sql
:r .\MyScript2.sql
:r .\MyScript3.sql
:r .\MyScript4.sql
:r .\MyScript5.sql

Файл жалуется на неправильный синтаксис.

4b9b3361

Ответ 1

Оказалось, что Visual Studio обманула меня неправильными предупреждениями о синтаксисе! Моя настройка была абсолютно правильной.

Чтобы избежать предупреждений, щелкните правой кнопкой мыши в любом месте файла и выберите "Параметры выполнения - Режим SQLCMD".

Существует также кнопка на панели инструментов с именем SQLCMD Mode, которая делает то же самое.

Вот пункт меню, если вы не можете найти кнопку на панели инструментов: enter image description here