5

J'utilise une base de données SQL Server Project avec Visual Studio 2012 et ai le problème suivant lors de la comparaison et la génération d'un script de mise à jour:Inclure les noms de contrainte par défaut dans la génération de script de mise à jour

Dans Visual Studio, j'ajouter une colonne avec une contrainte par défaut, par exemple:

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

Malheureusement, le nom de la contrainte par défaut ne semble pas quand:

  • La comparaison (schéma Comparer) mon projet avec la base de données réelle
  • Génération d'un script de mise à jour (à partir du schéma Comparer)

Le script de mise à jour créé contient le script suivant (pas de nom de contrainte):

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

Cela semble être un oubli majeur, donc je me demande où trouver l'interrupteur magique pour inclure les noms des contraintes par défaut dans toutes les opérations de base de données.

Répondre

4

Je pense que l'ordre peut être désactivé dans votre définition. Essayez de déplacer la partie "NOT NULL" vers la fin de la ligne plutôt que vers le milieu de votre définition de contrainte.

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