Jpi*_*pin 5 c# deployment tfs visual-studio sql-server-data-tools
我在 SQL 项目中有一个 PostDeployment 脚本,该脚本在发布时会在项目中运行许多其他脚本:
:r .\Scripts\Script1.sql
:r .\Scripts\Script2.sql
:r .\Scripts\Script3.sql
:r .\Scripts\Script4.sql
Run Code Online (Sandbox Code Playgroud)
每次将新脚本添加到源代码管理 (TFS) 中的 Scripts 文件夹时都不必手动更新,是否可以只迭代并执行 Scripts 文件夹中的所有 SQL 脚本?
将此添加到您的项目文件中
<ItemGroup>
<DataScripts Include="Data\*.sql" />
</ItemGroup>
<Target AfterTargets="BeforeBuild" Name="CreateDataScript">
<Delete Files="DataScript.sql" />
<WriteLinesToFile Overwrite="false" File="DataScript.sql" Lines=":r .\%(DataScripts.Identity)" />
</Target>
Run Code Online (Sandbox Code Playgroud)
DataScripts 属性是包含要运行的所有 sql 脚本的文件夹。这会在您进行构建之前生成文件,因此您可以在部署后脚本中引用它,而不会出现这样的问题。
:r .\DataScript.sql
Run Code Online (Sandbox Code Playgroud)
这可用于动态生成可在部署前/部署后脚本中引用的脚本
如果您需要继续操作此操作,那么您可能使用了 SSDT 错误。SSDT 是基于模式的版本控制系统,而不是基于脚本的系统。
如果您想要传统的脚本系统,那么您应该考虑 Ready Roll 或 SSW SQL Deploy。
| 归档时间: |
|
| 查看次数: |
2108 次 |
| 最近记录: |