从上次构建以来的提交创建SQL脚本

时间:2018-09-05 17:43:07

标签: azure-devops azure-pipelines tfvc

作为DevOps工程师,我希望我们的开发人员能够将SQL脚本放置在SQL Server Database Project文件夹中,并让VSTS构建代理准备自上一次成功构建以来提交的所有脚本。

自上次成功构建以来,我只查找文件的原因是因为我只希望这些脚本运行一次。如果将它们内置在部署后脚本中,则将在每次部署数据库时运行它们。这些脚本大多数是数据更改,而不是架构更改。

我找到了这个Build last commited [sic] SQL Script VSTS,但是该解决方案应用于Git存储库以获取最新的提交更改,而不是通用解决方案或与TFVC等效的解决方案。

我需要研究Visual Studio的预构建事件吗? SQL Server数据库项目部署后脚本? VSTS建立代理任务以搜索最新文件并将其复制到另一个位置?

2 个答案:

答案 0 :(得分:1)

如果将它们内置在部署后脚本中,则将在每次部署数据库时运行它们。

解决此问题的方法是制作脚本idempotent。如果需要插入数据,请之前检查数据是否存在。

答案 1 :(得分:0)

听起来像您真正想要的是DBUP,它跟踪已运行的脚本并通过控制台应用程序运行它们。

https://dbup.readthedocs.io/en/latest/

https://marketplace.visualstudio.com/items?itemName=johanclasson.UpdateDatabaseWithDbUp