【问题标题】:Create SQL script from commits since last build从上次构建后的提交创建 SQL 脚本
【发布时间】:2019-02-10 22:22:56
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: azure-devops azure-pipelines tfvc


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-06-08
        • 1970-01-01
        • 2014-05-02
        • 2016-04-15
        • 1970-01-01
        相关资源
        最近更新 更多