Base de données de gestion du changement et processus de construction en utilisant TFS [fermé]

StackOverflow https://stackoverflow.com/questions/1324310

  •  19-09-2019
  •  | 
  •  

Question

Toute personne utilisant Team Foundation Server pour la gestion de leurs bases de données? Nous utilisons actuellement la subversion. L'équipe se plaint qu'il est difficile de créer un processus de construction dans TFS et évitent désormais loin de.

Les bons pointeurs, des articles, des expériences?

Était-ce utile?

La solution

DB gestion du changement n'a pas grand-chose à voir avec votre choix de systèmes de contrôle de version, tant que vous avez un en premier lieu. Bien sûr, si vous utilisez des outils de gestion de changement de MS, vous pouvez être tout à fait sûr qu'ils ont été testés contre TFS et le reste de la pile de développeur MS assez bien. Cela est vrai si vous utilisez DBPro ou les formes bien plus anciens / crappier d'intégration vu dans le « projet de base de données » VS classique ou dépouillé les liaisons projet / solution de gestion SQL Studio. Mais il n'y a aucune raison que vous ne pouvez pas utiliser DBPro avec Subversion, ou Porte rouge avec TFS pour cette question.

va de même pour la production de construction. CC.NET vs équipe Build, NAnt vs MSBuild, etc ... les outils officiels MS ont tendance à être à peu près à égalité avec la concurrence. Vous ne l'avez pas décrit votre processus de déploiement de DB dans beaucoup de détails, mais je ne peux pas imaginer que ce serait beaucoup plus difficile de script dans MSBuild que ce que vous utilisez maintenant, le cas échéant. Il n'est pas difficile de choisir différents ensembles d'outils à différents points de la pile: vous pouvez avoir CC.NET lecteur MSBuild basé builds qui utilisent la deploy ligne de commande Red Gate, ou toute autre combinaison. Je crois pour l'intégration étroite offerte par collage au monde MS l'emporte largement sur les bizarreries dans tout un outil, mais le choix est là.

Laissez-moi au point: il semble que votre problème n'est pas technique, mais se CBM à adopter effectivement le contrôle de version en premier lieu. Si votre « dev » et environnements « prod » sont leurs propres entités de vie, plutôt que des machines génériques définis exclusivement par le résultat d'un processus de construction répétitive, alors vous n'êtes pas vraiment en utilisant le contrôle de version dans mon livre . Imaginez si un développeur de client main peaufiné parfois les DLL sur différentes machines autour de l'entreprise, puis se plaignait qu'ils étaient trop difficiles à synchroniser; vous penseriez qu'il était fou.

Au-delà, devient un lieu où rien ne se fait jamais à un DB directement (plus que vous ne fouillez en% programfiles%) de l'investissement le plus important. Si ce n'est pas dans le référentiel source, il n'existe pas.

Je ne pense pas que vous y arriver est aussi important. Vous pouvez écrire tous vos CRÉE et ALTERs dans le Bloc-notes, vérifiez-les à partir de la ligne de commande, et votre « processus de construction » être un script shell 2 en ligne qui les concaténer dans un fichier bien connu où le script deploy sait regarder . Ou vous pouvez utiliser un outil de fantaisie comme DBPro pour amplifier votre productivité avec IntelliSense / tests unitaires / hors ligne modélisation / etc Il y a de bonnes raisons de tête dans cette dernière direction (surtout si vous croyez

Autres conseils

Nous utilisons Visual Studio 2008 Team Suite avec TFS. Je suis en mesure d'importer nos bases de données dans TFS avec une relative facilité. Cependant, j'ai trouvé que la plupart de l'équipe (y compris le CBM) oublie de mettre à jour TFS lorsqu'ils modifient un objet dans SQL.

Tout type de processus de construction va compter sur DB Pro pour générer des scripts de différence entre votre environnement de développement et l'environnement cible. J'ai trouvé que cela pose problème parce que notre environnement de développement n'est pas un match propre à notre environnement de production. Les autorisations sont certainement différentes et nous avons un certain nombre d'autres cas où des changements ont été appliqués en dev / QA mais jamais déménagé à prod (mais ont également été jamais renversées). Essayer d'isoler vos changements de beaucoup d'autres changements dans DB Pro est difficile parce que l'interface utilisateur vous permet d'exclure des objets à partir du script final (donc si vous modifiez 2 objets et 1000 autres sont différents, vous devez décocher les autres 1000 objets). De plus, la configuration de la comparaison du schéma est souvent fait dans outils-> options alors que d'autres outils tels que Red Gate vous permettent de configurer la comparaison sur le même écran que vous lancez.

Je pense que l'outil a le potentiel, mais nous avons certainement besoin d'adapter nos procédures et systèmes existants pour travailler avec TFS. De plus, ayant versioning sur vos objets de base de données est une valeur inestimable, même si ce n'est pas 100% à jour.

Nous utilisons TFS avec l'édition de base de données.

Le script de création de base de données a des scripts post pour charger des données dans la base de données Dev.

Nous Déploie régulièrement à l'environnement DEV. Tous les développeurs ont installé SQL localement et ils leur propre Obtenir la dernière et déployer.

Dans l'environnement de test unitaire, les logins, les bases de données (OLTP et OLAP), réplication, packages ETL, Jobs SQL, etc. sont tous déployés à leurs emplacements individuels et tout est ensemencé.

Les développeurs ne pas apporter de modifications à l'extérieur et ne pas les vérifier en car alors le déploiement de test L'appareil ne fonctionne pas.

Il y a beaucoup plus d'avis à ce sujet dans ce débordement de la pile question: Quels sont les avantages réels de Visual studio Team System Database Edition (RDA)? (Je ne sais pas pourquoi, mais mes recherches m'a amené à cette question à la place, et j'ai eu beaucoup de mal à trouver des opinions à ce sujet. Espérons que ce lien aider les autres effectuant la même recherche.)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top