Я использую проект базы данных 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;
Это кажется серьезным упущением, поэтому мне интересно, где найти волшебный переключатель, чтобы включать имена ограничений по умолчанию во все операции с базой данных.