63 votes

Quelle est la meilleure façon de contrôler la version de mon serveur SQL stockées procédures?

Quelle est la meilleure façon de contrôler la version de mes objets de base de données? Je suis à l'aide de Visual studio 2005/2008 et SQL server 2005. Je préfère une solution qui peut être utilisée avec SVN.

33voto

Ron Savage Points 7612

De même que vos autres code, ajouter un "projet de Base de données" de votre solution d'application et de garder les fichiers sql utilisé pour construire les objets de base de données. Utiliser la même version de contrôle de ces fichiers de code comme vous le faites pour l'application.

15voto

Thomas Wagner Points 1633

Regardez les outils offerts par RedGate. Ils traitent spécifiquement de sauvegarde / restauration / comparaison des cas pour les objets SQL Server y compris la SP. Alternativement, je ne suis pas sûr mais je pense que Visual Studio vous permet de vérifier sp dans un référentiel. Havent essayé moi-même. Mais je peux vous recommander de RedGate outils. Ils m'avez sauvé une tonne d'ennuis

5voto

Josef Points 4395

J'utilise SVN pour l'ensemble de ma table/la procédure stockée/fonction de contrôle de source.

Je ne pouvais pas trouver quelque chose qui répondait à mes besoins, donc j'ai fini par écrire un utilitaire pour me permettre de vider le code dans une belle structure de répertoire à utiliser avec SVN.

Pour ceux que cela intéresse, la source est maintenant disponible sur le svn://finsel.com/public/VS2005/GenerateSVNFilesForSQL2005.

3voto

HLGEM Points 54641

Nous utilisons la Subversion et à tous nous avons à faire est de sauvegarder le code sql dans le répertoire de notre projet subversion, puis valider le code pour le référentiel lorsque nous sommes prêts et mise à jour du référentiel avant de commencer à travailler sur quelque chose de déjà là.

Le vrai truc est de convaincre les développeurs de le faire. Nos administrateurs de bases de données le faire que par la suppression de toute procédure stockée (ou d'autres objets de base de données) qui n'est pas dans la Subversion périodiquement. De perdre des choses une fois et presque personne n'en est-il de nouveau.

1voto

paxos1977 Points 25088

Je ne sais pas d'une pré-emballés solution, désolé...

... mais ne pourriez-vous pas juste un petit script qui se sont connectés à la base de données et enregistré toutes les procédures stockées sur le disque comme des fichiers texte? Le script va ajouter tous les fichiers texte dans le dépôt SVN en faisant un appel système pour 'svn add'.

Ensuite, vous voudrez probablement un autre script pour se connecter à la DB, baisse de toutes les procédures stockées et de charger tout le référentiel de procédures stockées à partir du disque. Ce script doit être exécuté à chaque fois que vous avez exécuté "svn up" et les nouveaux/modifiés procédures stockées.

Je ne sais pas si cela peut être accompli avec MS SQL, mais je suis assez confiant que MySQL devra tenir compte de cette. Si l'écriture SVN extensions pour cela est trop compliqué, Capistrano prend en charge checkin/checkout scripts, IIRC.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X