部署时未 运行 Redgate 迁移脚本

Redgate migration scripts not running on deployment

我一直在阅读有关迁移脚本的 Redgate 文档,我正在尝试向 table 添加一个新列,该列具有来自另一个 table 的外键。

这是我所做的:

  1. 添加了新列,使其可为空并创建了 与新 table 的关系,然后我提交了更改。
  2. 然后我将静态数据添加到新的 table 以便迁移可以 运行。我提交这个静态 data.I 然后添加一个空白的迁移脚本, 并在我上次创建的列上设置所有空值 承诺成为相关 table 中记录之一的 ID。我 然后提交此更改。
  3. 然后我 运行 将两者的部署提交到我的测试环境 记录已经存在。

我遇到的问题是列已创建,但脚本似乎没有 运行ning,因为列值保持为空。我已经验证脚本实际上应该更改列,因为我尝试手动 运行 它并成功执行。

我是不是在使用这些脚本时做错了什么?谢谢

我正在创建空白迁移脚本,这导致 SQL 比较以将列设置为非空。您必须在需要它的模式更改上专门创建一个迁移脚本,否则 SQL 比较将覆盖所有更改。