我正在使用 SQL Server数据库项目与Visual Studio 2012一起使用,并在比较和生成更新脚本时遇到以下问题:
在Visual Studio中,我添加了一个带有默认约束的列,例如:
[NewColumn] NVARCHAR(50) CONSTRAINT [DF_ExistingTable_NewColumn] NOT NULL DEFAULT N''
不幸的是,默认约束的名称不会出现:
- 比较(架构比较)我的项目与实际数据库
- 生成更新脚本(在架构中比较)
创建的更新脚本包含以下脚本(无约束名称):
ALTER TABLE [dbo].[ExistingTable]
ADD [NewColumn] NVARCHAR (50) DEFAULT N'' NOT NULL;
这似乎是一个主要的监督,所以我想知道在所有数据库操作中都在哪里找到魔术开关以包含默认约束的名称。
我认为您的定义可能会关闭订单。尝试将"非零"部分移至行末端,而不是在约束定义的中间。
[NewColumn] NVARCHAR(50) CONSTRAINT [DF_ExistingTable_NewColumn] DEFAULT N'' NOT NULL