Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 使用VS 2010数据库管理示例数据_Database_Visual Studio 2010_Tfs - Fatal编程技术网

Database 使用VS 2010数据库管理示例数据

Database 使用VS 2010数据库管理示例数据,database,visual-studio-2010,tfs,Database,Visual Studio 2010,Tfs,我正在使用VisualStudio2010中的一个数据库项目来管理我所有的数据库代码 对于我的应用程序,我们将每个客户机的数据分离到他们自己的数据库副本中,并使用一个公共数据库将用户映射到适当的数据库 我希望将几个不同的示例数据集与代码一起保存在TFS中,并能够根据需要选择性地部署其中一个 我已经为两个不同的客户端数据库创建了脚本,并将它们都保存在tfs的部署后目录中。我想维护另一个用于演示和单元测试的 有没有办法在SQLCMD中设置:r条件化?对于如何做到这一点,还有其他建议或最佳实践吗?我一

我正在使用VisualStudio2010中的一个数据库项目来管理我所有的数据库代码

对于我的应用程序,我们将每个客户机的数据分离到他们自己的数据库副本中,并使用一个公共数据库将用户映射到适当的数据库

我希望将几个不同的示例数据集与代码一起保存在TFS中,并能够根据需要选择性地部署其中一个

我已经为两个不同的客户端数据库创建了脚本,并将它们都保存在tfs的部署后目录中。我想维护另一个用于演示和单元测试的

有没有办法在SQLCMD中设置:r条件化?对于如何做到这一点,还有其他建议或最佳实践吗?我一直在看报纸,但还没有找到任何东西


提前感谢您提供的任何帮助。

可能不是您直接想要的,但是为了方便从.Net创建和填充数据库,请查看wide migrate工具的使用情况。我的首选(Migrator.NET),但是可以在那里找到完整的回顾:

在向项目添加变量并在脚本中检查它之前,我的思路是正确的

有两个小陷阱:

  • 在.sqlcmdvars文件中,变量值的值需要包含其周围的单引号
  • 此方法生成包含所有示例数据的单个脚本,但只执行变量指定的脚本。随着示例数据变得更加完整,这将成为一个相当大的文件,但就我的目的而言,这应该是可以的。我可以看出这将如何成为真正大型数据集的交易破坏者。此外,单个脚本中不能包含GO分隔符,因为它包含在BEGIN-END块中
  • 这是我的档案:

    /* 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和引用的值位。

    当单个脚本包含GO语句时,有人知道怎么做吗?