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?
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