我正在使用SQL 2008数据库项目(在visual studio中)来管理我的项目的模式和初始测试数据.atabase项目使用后部署,其中包括使用SQLCMD的":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
Run Code Online (Sandbox Code Playgroud)
但是我收到一个编译错误: SQL01260:发生致命的解析器错误:Script.PostDeployment.sql
有没有人看到过这个错误或设法将他们的postdeployment脚本配置为这样灵活?还是我完全以错误的方式解决这个问题?
谢谢,罗布
PS我也尝试改变它,以便文件的路径是一个变量,类似于这篇文章.但这给了我一个错误,说路径不正确.