我在Visual Studio 2010中使用数据库项目来管理我的所有数据库代码。
对于我的应用程序,我们将每个客户端的数据分成他们自己的数据库副本,并使用一个公共数据库将用户映射到相应的数据库。
我想在TFS中保留几个不同的样本数据集以及代码,并且能够根据需要有选择地部署其中一个。
我为两个不同的客户端数据库创建了脚本,并将它们保存在tfs的部署后目录中。我想维护另一个我们用于演示和单元测试。
有没有办法:在SQLCMD中有条件的r?是否有其他建议或最佳做法如何做到这一点?我一直在阅读Visual Studio 2010 Database Projects Guidance Document,但还没有找到任何东西。
提前感谢您提供的任何帮助。
答案 0 :(得分:3)
在将变量添加到项目并在脚本中检查之前,我处于正确的轨道上。
有两个小抓点:
这是我的档案:
/* All deployments get the reference data */
:r .\ReferenceData.PostDeployment.sql
IF ('$(SampleSet)' = 'ClientA')
BEGIN
:r .\SampleData.ClientA.PostDeployment.sql
END
ELSE IF ('$(SampleSet)' = 'ClientB')
BEGIN
:r .\SampleData.ClientB.PostDeployment.sql
END
感谢Jamie Thomson和this article的引用值位。
答案 1 :(得分:0)
可能不是你想要的,而是为了方便数据库的创建和安装。人口来自.Net审查广泛迁移工具的使用情况。我的偏好(Migrator.NET)可以在那里找到完整的评论:http://flux88.com/blog/net-database-migration-tool-roundup/