1

我正在尝试为我的 Microsoft SQL Server 数据库项目构建 CI/CD。它将与 Microsoft DevOps 管道一起使用。

我在 Visual Studio 数据库项目中的所有数据库都使用 GIT 作为源代码控制。我的目标是拥有一些我可以使用 DevOps 管道将数据库发布到不同环境的东西:

  • 开发者
  • UAT
  • 产品

我正在考虑使用 DBGhost: http: //www.innovartis.co.uk/但我找不到有关此工具的更新信息(只有非常旧的信息),互联网上关于它以及如何使用的信息很少使用它(它还在使用吗?)。

我想混合使用 DBGhost 和 DevOps。DBGhost 到源脚本、构建、比较、同步、创建增量脚本、升级和 DevOps 以发布(这将调用 DBGhost 创建的构建)

如果您对使用此方法或其他方法有任何想法,我将不胜感激,因为目前所有版本都是手动的,不建议这样做。

4

1 回答 1

1

我们仅使用 DevOps 在我们的环境中进行了配置。我们的数据库位于 Visual Studio 数据库项目中。MSBuild 任务构建项目并生成 DACPAC 文件作为工件,Release 使用“SQL Server Database Deploy”任务将其部署到数据库。部署任务需要使用具有足够权限的帐户来创建数据库、登录等,但要负责执行模式比较、生成增量脚本并执行它们。如果您的部署将进行可能导致数据丢失的更改,例如删除列,则需要/p:BlockOnPossibleDataLoss=false在部署任务中包含附加参数。除非您知道会有更改会导致数据丢失,否则不建议使用此标志;如果没有该标志,任何会导致数据丢失的部署都将失败。

于 2022-01-20T17:25:15.270 回答