我在Visual Studio(SSDT)中使用SQL项目,我有一个列定义为:
BinaryDocument VARBINARY(MAX) FILESTREAM NOT NULL
我需要进行更改以允许NULL,因此我将定义更改为:
BinaryDocument VARBINARY(MAX) FILESTREAM NULL
但是在发布项目时,生成的脚本会显示:
ALTER TABLE [Docs] ALTER COLUMN [BinaryDocument] VARBINARY (MAX) NULL;
正如您所期望的那样,因为您无法从列中删除FILESTREAM,因此会出现以下错误:
无法更改表'Docs'中的列'BinaryDocument'以添加或删除FILESTREAM列属性。
有人知道这是否应该有用或者只是我吗?有没有解决方法?
修改
它不仅限于制作NULLable。尝试设置默认和相同的问题:
BinaryDocument VARBINARY(MAX) FILESTREAM NOT NULL DEFAULT(0x00)
在发布脚本中产生与上面相同的输出:
ALTER TABLE [Docs] ALTER COLUMN [BinaryDocument] VARBINARY (MAX) NOT NULL;
所以它似乎遵守NULL / NOT NULL更改,但无法将FILESTREAM关键字带入输出脚本:(