5

sto usando un server di database SQL progetto con Visual Studio 2012 e hanno il problema seguente quando si confrontano e la generazione di uno script di aggiornamento:includono i nomi di vincoli predefiniti nella generazione di script di aggiornamento

In Visual Studio, aggiungo

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

Purtroppo, il nome del vincolo di default non viene visualizzato quando:: una colonna con un vincolo di default, ad esempio

  • Confrontando (Confronto schema) il mio progetto con il database effettivo
  • Generazione di uno script di aggiornamento (dall'interno del Confronto schema)

Lo script di aggiornamento creata contiene il seguente script (senza nome di vincolo):

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

questa sembra una svista importante, quindi mi chiedo dove trovare l'interruttore magia per includere i nomi dei vincoli predefiniti in tutte le operazioni di database.

risposta

4

Penso che l'ordine potrebbe essere disattivato nella definizione. Prova a spostare la parte "NOT NULL" alla fine della riga anziché nel mezzo della definizione del vincolo.

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