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.
Réponses
Trop de publicités?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
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.
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.
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.