6

我在 Visual Studio 2012 中使用SQL Server 数据库项目,在比较和生成更新脚本时遇到以下问题:

在 Visual Studio 中,我添加了一个具有默认约束的列,例如:

[NewColumn] NVARCHAR(50) CONSTRAINT [DF_ExistingTable_NewColumn] NOT NULL DEFAULT N''

不幸的是,默认约束的名称在以下情况下不会出现:

  • 将我的项目与实际数据库进行比较(架构比较)
  • 生成更新脚本(从Schema Compare中)

创建的更新脚本包含以下脚本(无约束名称):

ALTER TABLE [dbo].[ExistingTable]
    ADD [NewColumn] NVARCHAR (50) DEFAULT N'' NOT NULL;

这似乎是一个重大疏忽,所以我想知道在哪里可以找到魔术开关以在所有数据库操作中包含默认约束的名称。

4

1 回答 1

5

我认为您的定义中的顺序可能不正确。尝试将“NOT NULL”部分移动到行尾而不是约束定义的中间。

[NewColumn] NVARCHAR(50) CONSTRAINT [DF_ExistingTable_NewColumn] DEFAULT N'' NOT NULL
于 2013-05-01T14:42:33.437 回答