部署时未 运行 Redgate 迁移脚本
Redgate migration scripts not running on deployment
我一直在阅读有关迁移脚本的 Redgate 文档,我正在尝试向 table 添加一个新列,该列具有来自另一个 table 的外键。
这是我所做的:
- 添加了新列,使其可为空并创建了
与新 table 的关系,然后我提交了更改。
- 然后我将静态数据添加到新的 table 以便迁移可以
运行。我提交这个静态 data.I 然后添加一个空白的迁移脚本,
并在我上次创建的列上设置所有空值
承诺成为相关 table 中记录之一的 ID。我
然后提交此更改。
- 然后我 运行 将两者的部署提交到我的测试环境
记录已经存在。
我遇到的问题是列已创建,但脚本似乎没有 运行ning,因为列值保持为空。我已经验证脚本实际上应该更改列,因为我尝试手动 运行 它并成功执行。
我是不是在使用这些脚本时做错了什么?谢谢
我正在创建空白迁移脚本,这导致 SQL 比较以将列设置为非空。您必须在需要它的模式更改上专门创建一个迁移脚本,否则 SQL 比较将覆盖所有更改。
我一直在阅读有关迁移脚本的 Redgate 文档,我正在尝试向 table 添加一个新列,该列具有来自另一个 table 的外键。
这是我所做的:
- 添加了新列,使其可为空并创建了 与新 table 的关系,然后我提交了更改。
- 然后我将静态数据添加到新的 table 以便迁移可以 运行。我提交这个静态 data.I 然后添加一个空白的迁移脚本, 并在我上次创建的列上设置所有空值 承诺成为相关 table 中记录之一的 ID。我 然后提交此更改。
- 然后我 运行 将两者的部署提交到我的测试环境 记录已经存在。
我遇到的问题是列已创建,但脚本似乎没有 运行ning,因为列值保持为空。我已经验证脚本实际上应该更改列,因为我尝试手动 运行 它并成功执行。
我是不是在使用这些脚本时做错了什么?谢谢
我正在创建空白迁移脚本,这导致 SQL 比较以将列设置为非空。您必须在需要它的模式更改上专门创建一个迁移脚本,否则 SQL 比较将覆盖所有更改。