当我为表编辑的架构未应用于服务器时,我突然感到有问题。在编写种子脚本时发现它崩溃了:我已将大多数字段更改为 null,因此脚本仅插入 NOT NULL 值。但在运行时,它会因“列中的预期值,似乎它不是 NULL”而崩溃。
再次,
- 我已将列的表修改为 NULL
- 针对它写了种子脚本
- 要求“发布”
- 脚本失败,因为表模式在大多数列中仍然需要 NOT NULL
我做了:
- 删除 bin/obj,
- 删除了 .refactorlog 和 .dbml,因此最终构建损坏,因为它需要 .refactorlog。
然后我DROP编辑表。仍然没有检测到变化!由于表不存在,我手动运行CREATE并且似乎以后(随后,之后)检测到更改。
所以问题是- 我做错了什么?我认为 SSDT 会针对目标模式分析静态代码。但似乎没有。我不想突然遇到这样的问题,我需要防弹架构迁移。
环境:
- 对比 2017 年 15.6.6
- Sql Server 快递 2014 (12.0.2000)
只找到了这个,但似乎不是我的情况(但是,生成的脚本集SET ANSI_NULLS ON)。
非常感谢对这个问题的解释!