Я использую проект базы данных SQL 2008 (в visual studio) для управления схемой и исходными тестовыми данными для моего проекта. Проект atabase использует пост-развертывание, которое включает в себя ряд других скриптов с использованием синтаксиса SQL: ". R".
Я хотел бы иметь возможность условно включать определенные файлы на основе переменной SQLCMD. Это позволит мне запускать проект несколько раз с нашей ночной сборкой для настройки различной версии базы данных с различными конфигурациями данных (для многопользовательской системы).
Я пробовал следующее:
IF ('$(ConfigSetting)' = 'Configuration1')
BEGIN
print 'inserting specific configuration'
:r .\Configuration1\Data.sql
END
ELSE
BEGIN
print 'inserting generic data'
:r .\GenericConfiguration\Data.sql
END
Но я получаю ошибку компиляции: SQL01260: произошла ошибка фатального парсера: Script.PostDeployment.sql
Кто-нибудь видел эту ошибку или сумел настроить их postdeployment script, чтобы быть гибким таким образом? Или я об этом совершенно не согласен?
Спасибо, Rob
P.S. Я также попытался изменить это так, чтобы путь к файлу был переменным, похожим на этот пост. Но это дает мне ошибку, говоря, что путь неверный.