2015-10-27 1 views
3

J'ai des scripts d'objet individuels pour la base de données sous le contrôle de source TFS. Je voudrais passer aux projets de base de données Visual Studio. Il est assez facile d'importer les scripts existants dans le nouveau projet, mais j'aimerais vraiment apporter le script existant avec les fichiers.Est-il possible d'intégrer l'historique TFS lors de l'importation de scripts de base de données dans un projet de base de données?

Est-ce possible de le faire dans le cadre du processus d'importation de script ou via un post-traitement dans TFS pour remapper l'historique?

Si la réponse change avec les versions de TFS, il se peut que je puisse obtenir la version requise.

+0

Que font ces scripts ou que voulez-vous préserver? Je pense qu'Eld Eliott a fait un peu de travail sur son blog pour intégrer des scripts dans un dacpac, mais le fait de savoir si cela répondra à vos besoins dépend de ce que sont ces besoins. –

+0

@PeterSchott Ceci est une base de données mature avec des années d'histoire de la source dans les scripts. Je veux moderniser les processus de construction et de déploiement en utilisant un projet de base de données. Idéalement, je serais capable de maintenir l'historique des versions/changements. –

+1

Je ne pense pas que vous serez en mesure de mapper le projet à votre histoire TFS. Vous pourriez envisager d'exporter l'historique et de le valider comme un gros blob ou peut-être que les commentaires pour les objets pourraient être mis à jour pour pointer vers l'historique TFS pour plus de détails. Il pourrait y avoir un peu de magie que vous pourriez travailler dans les coulisses pour copier l'histoire, mais je ne suis pas sûr de ce que ce serait. Vous devriez être en mesure de faire une forme quelconque d'exportation de l'histoire à tout le moins, mais vous ne savez pas comment vous y arriveriez. –

Répondre

2

Non, il est impossible pour vous d'importer SQL Script avec l'histoire TFS dans un projet de base de données.

1

Vous pouvez importer des scripts existants dans un projet de base de données à l'aide de Visual Studio 2012 ou version ultérieure avec la fonctionnalité Outils de données SQL Server installée.

VS prend en charge l'importation d'un ou de plusieurs scripts SQL. Vos scripts seront réinterprétés et de nouveaux scripts seront créés à partir d'eux (un pour chaque table, vue, procédure stockée, etc.). Par exemple, si vous avez un script avec une instruction CREATE TABLE et un autre script avec ALTER TABLE qui ajoute une colonne à la table, ils seront combinés en une seule instruction CREATE TABLE.

Some notes from MSDN about importing scripts:

Tous les objets de la source d'importation qui n'existent pas déjà dans le projet seront ajoutés, et tous les objets de la source d'importation qui ne existe déjà dans le projet remplacera l'objet définition dans le projet.

Remarque

Il y a deux bugs connus dans ce chemin qui seront fixés dans un avenir version:

  • Si les contraintes de table/colonne sont définies en dehors de l'instruction CREATE TABLE dans la La définition de la table du projet, import va remplacer la définition de la table de sorte que la contrainte soit en ligne. Cependant, il va quitter la contrainte de non-ligne, ce qui entraîne des contraintes en double dans le projet.
  • Toutes les clés principales ou clés de chiffrement de base de données de votre script source qui existent déjà dans le projet seront dupliquées lors de l'importation. Enlever les doublons afin de construire le projet.
+0

Si les scripts importés ne sont utilisés que comme source pour la construction de nouveaux scripts, je suppose que l'historique ne peut pas être conservé. À moins que TFS ne permette que l'historique des fichiers soit «géré» de telle manière que je puisse l'associer à l'historique des versions originales. –