5

güncelleme script nesil varsayılan kısıtlama adlarını dahil örneğin bir varsayılan kısıtlama ile bir sütun,:karşılaştıran ve bir güncelleştirme komut dosyası oluştururken Visual Studio 2012 ile <strong>SQL Server veritabanı Proje</strong> kullanıyorum ve sorunu şu var

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

Maalesef varsayılan kısıtlama adı görünmezse:

  • karşılaştırılması (Şema karşılaştırın) bir güncelleştirme komut dosyası oluşturuluyor fiili veritabanı
  • ile benim projem (Şeması içinden karşılaştırın)

oluşturulan güncelleme komut aşağıdaki komut dosyasını (hiçbir kısıtlama adı) içerir:

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

Bu büyük gözetimi gibi görünüyor, bu yüzden nereye tüm veritabanı işlemlerinde varsayılan kısıtlamaları isimlerinin belirtilmesine sihirli anahtarı bulmak için merak ediyorum.

cevap

4

Siparişin tanımınızda kapalı olabileceğini düşünüyorum. Kısıtlama tanımınızın ortasında değil, "NOT NULL" parçasını satırın sonuna taşımayı deneyin.

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