2

这是故事,我正在使用 RedGate SqlCompare 为我的 Dev env 生成更新脚本,每个包仅包含从当前 Dev 版本到源代码控制中的最新版本的更改。这是一个例子:

  1. 我创建了一个表(package-0.1)-> 部署到 DevDB
  2. 我添加 Columns (package-0.2) -> Deploy to DevDB
  3. 我重命名了一些 Column (package-0.3) -> Deploy to DevDB

但是,一旦我想将它推广给 QA,它就会给我带来问题,因为它只推广最新的 package-0.3,它只包含部分更改(列的重命名)

因此,如果可能的话,我正在寻找一种在当前促销之前部署所有软件包的方法。

现在我通过创建包含所有更改脚本的自定义包解决了这个问题,但是有可能用 Octopus 解决这个问题吗?

谢谢伊霍尔

4

1 回答 1

4

每个包仅包含从当前开发版本到最新版本的更改

由于 SQL Compare 采用基于状态的方法,因此您执行此操作的方式对您来说会很痛苦。您要应用的是基于迁移的方法。您可以查看Alex 关于两种方法之间区别的帖子

SQL Source Control 5将提供更好的迁移方法,该方法可与 SQL Compare 命令行工具和DLM 自动化工具一起使用。然而,不幸的是,测试版现在已经关闭,但我建议您通过那里提供的电子邮件地址与团队联系。

您拥有的另一个选项是ReadyRoll,它具有纯粹的基于迁移的方法。你可以在它的 octopus deploy integration 上看到这篇文章。

于 2016-04-22T11:15:32.490 回答