2010-08-12 6 views
5

J'ai un nouveau projet de base de données Visual Studio 2008 (Data Dude). Il a été généré en pointant sur notre base de données existante. J'ai maintenant apporté quelques modifications (nouvelles colonnes, tables, index, etc) et j'essaye de générer le script de déploiement (diff) pour le déploiement. J'ai une configuration de comparaison de schéma pour faire la comparaison et générer le fichier de script de diff. Je pense que j'ai modifié la plupart des paramètres de comparaison et que l'objet ignore ce dont j'ai besoin, cependant, en haut, j'ai quelques commandes ALTER DATABASE que je n'aurais pas générées. Ils ressemblent à ceci:Projet de base de données Visual Studio 2008 générant ALTER DATABASE lors de la comparaison de schéma

IF EXISTS (SELECT 1 
      FROM [master].[dbo].[sysdatabases] 
      WHERE [name] = N'$(DatabaseName)') 
    BEGIN 
     ALTER DATABASE [$(DatabaseName)] 
      SET ANSI_NULLS ON, 
       ANSI_PADDING ON, 
       ANSI_WARNINGS ON, 
       ARITHABORT ON, 
       CONCAT_NULL_YIELDS_NULL ON, 
       QUOTED_IDENTIFIER ON, 
       ANSI_NULL_DEFAULT ON, 
       CURSOR_DEFAULT LOCAL 
      WITH ROLLBACK IMMEDIATE; 
    END 


GO 
IF EXISTS (SELECT 1 
      FROM [master].[dbo].[sysdatabases] 
      WHERE [name] = N'$(DatabaseName)') 
    BEGIN 
     ALTER DATABASE [$(DatabaseName)] 
      SET PAGE_VERIFY NONE 
      WITH ROLLBACK IMMEDIATE; 
    END 


GO 

Je préfère peaufiner les réglages afin que je n'ai pas de communiquer à mon équipe 15+ membre dont ils ont besoin pour éliminer les lignes du fichier à chaque fois qu'ils differentiation veulent tirer vers le bas et déployer le dernier dans leur environnement.

Quels paramètres contrôlent cela?

Répondre

1

Il existe des paramètres pour contrôler cela dans les fichiers .sqldeployment et .sqlsettings de votre projet (disponibles dans le dossier Propriétés de votre projet dans l'Explorateur de solutions). Les paramètres eux-mêmes peuvent être modifiés dans le fichier .sqlsettings [DB Settings Screenshot] et la possibilité de désactiver toute la génération de script de propriétés de base de données se trouve dans la première case à cocher lors de l'affichage des paramètres .sqldeployment. [SQL Deployment Settings Screenshot]

+1

Juste ajouter un peu plus de détails à la réponse. Lorsque nous avons généré le projet SQL à partir de notre base de données existante, nous avons dû ignorer l'option de générer les SQLSettings à partir de la base de données et utiliser les paramètres par défaut pour un projet db (data dude). Donc, mon db actuel n'a pas ces options définies, donc il veut les mettre dans ma génération de "script de différence" parce qu'elles sont spécifiées dans le fichier sqlsettings "par défaut", mais pas réellement dans ma base de données. Je voudrais toujours les désactiver de génération en génération, mais il s'agit plus d'un heads-up pour vous assurer que vous générez votre projet db proprement la première fois – Brian

4

Deux cases à cocher doivent être désactivées avant de sauvegarder le profil de publication. Assurez-vous que vous allez projeter des propriétés -> Debug et décocher « Déployer les propriétés de base de données »

Click here to view screenshot

puis faites un clic droit sur votre projet de base de données -> publish puis cliquez sur « Avancé » pour décocher « Déployer des propriétés de base de données »

Click here to view screenshot

Cliquez sur OK, cliquez sur Enregistrer le profil sous et à partir de maintenant, chaque fois que vous déployez votre script généré en utilisant le profil de publication que vous venez de créer, ne contiendra que les modifications que vous voulez. J'utilise VS 2013 avec le dernier SSDT au 20 avril 2016.