Je souhaite synchroniser mon schéma de base de données avec mon projet de base de données Visual Studio .dbproj.
En ce moment, j'utilise SSMS pour la plupart de mes travaux de développement de base de données, et je dois utiliser manuellement l'outil de comparaison de schémas de Visual Studio lorsque j'ai besoin de synchroniser le schéma db et le .dbproj. Pourquoi voudrais-je cela? parce que :
- C'est le seul moyen de consigner les modifications
- C'est le seul moyen d'appliquer les modifications
- Si vous ne le faites pas, des problèmes de fusion se produiront lors de l'obtention des fichiers (en gros, si un "get latest" contient des modifications db sur les objets db que j'ai mis à jour sans les vérifier, une fusion ne sera pas déclenchée et il est facile de garder une trace de quelle version est laquelle)
- C'est agréable de pouvoir utiliser les fonctionnalités de recherche de VisualStudio sur une version à jour du schéma
- Il est agréable de pouvoir modifier les procédures stockées de VS (généralement lorsque vous avez renommé un fichier) en utilisant les résultats de la recherche.
Outre l'automatisation de l'outil de "comparaison de schémas" pour qu'il s'exécute toutes les 5 minutes (ce qui ne sonne guère comme une solution "propre"), existe-t-il des moyens d'y parvenir?
J'aimerais continuer à utiliser SSMS si possible, mais je suis également intéressé par les moyens de propager automatiquement les modifications apportées en utilisant les "connexions de l'explorateur de serveur / base de données" de Visual Studio au .dbproj.
Réponses:
SQL Server Management Studio est principalement un outil de gestion de SQL Server et, en tant que tel, n'est pas nécessairement conçu pour prendre en charge les scénarios que vous recherchez.
Visual Studio Team System 2008 Database Edition et Visual Studio Team System 2010 Pro / Ultimate incluent les outils de développement de base de données (VSDB) pour aider ceux qui disposent de ressources de base de données étendues à intégrer leur schéma de base de données / view / proc / etc. développement avec le développement de leur application.
VSDB vous permet d'effectuer une rétro-ingénierie des schémas de bases de données existants dans des projets Visual Studio afin de pouvoir contrôler à la source les fichiers de script par élément de schéma. Vous pouvez également modifier / créer des scripts de schéma SQL Server pour la création de pratiquement tous les éléments de schéma pris en charge par SQL 2005/2008/2010.
VSDB prend également en charge la possibilité de déployer des mises à jour de schéma de base de données complètes / partielles sur des bases de données vides / existantes où il effectue une énorme quantité de travail pour essayer d'appliquer uniquement les changements nécessaires pour modifier la base de données existante (si elle est présente) afin qu'elle reflète la structure de le projet de base de données VSDB source.
VSDB comprend également un certain nombre d'outils pour vous aider à comparer les schémas entre les projets DB et / ou DB et vous permet également de différencier et de fusionner le contenu des tables.
Cependant, notez que bien que cet ensemble d'outils soit pris en charge aujourd'hui, l'équipe a depuis été dissoute et le produit est en mode maintenance. Le groupe de produits SQL Server est désormais responsable de la création d'outils pour les développeurs et travaille dur pour cela :)
la source
il y a deux façons que je connais avec les fonctionnalités ultimes de VS2010 pour le faire.
la source