Question

Je suis à la recherche pour certains des "Meilleures Pratiques" pour automatiser le déploiement de Procédures Stockées/Vues/Fonctions/Table de changements de contrôle de code source.Je suis à l'utilisation de StarTeam & ANT ainsi, le marquage est pris en charge;ce que je cherche, c'est comment certains d'entre vous ont approché l'automatisation de la tirer de ces objets à partir de la source - pas nécessairement de StarTeam.

Je voudrais terminer avec un script qui peut ensuite être exécutée, l'archivage, et étiquetés.

Je ne demande PAS de quelqu'un pour écrire le - juste quelques idées ou approches qui ont (ou n'ont pas) a travaillé dans le passé.

Je suis en train de nettoyer le gâchis et voulez vous assurer que j'obtiens ce que près de "droite" comme je peux.

Nous sommes stocker les tables/vues/fonctions etc.dans les différents fichiers de StarTeam et notre DB SQL 2K5.

Était-ce utile?

La solution

Nous utilisons SQL de Comparer de redgate (http://www.red-gate.com/).

Nous avons une base de données de production, un développement de base de données et chaque développeur a sa propre base de données.

Le développement de la base de données est synchronisé avec les changements qu'un développeur a fait à leur base de données lorsqu'ils vérifient leurs modifications.

Le développeur vérifie également dans un script de synchronisation et de comparaison de rapport généré par SQL de Comparer.

Lorsque nous déployer notre application, nous avons simplement synchroniser le développement de la base de données avec la base de données de production à l'aide de SQL Comparer.

Cela fonctionne pour nous, parce que notre application est à usage interne uniquement.Si ce n'est pas votre scénario, puis je regarde SQL Emballeur (également à partir de redgate).

Autres conseils

Vérifier dans Les Migrations (souligné par Andrew Peters dans un autre post)

Je préfère séparer les vues, les procédures et les déclencheurs (les objets qui peuvent être re-créé à volonté) à partir de tables.Pour les vues, les procédures et les déclencheurs, il suffit d'écrire un emploi qui va vérifier et re-créer le dernier.

Pour les tables, je préfère avoir une version de base de données de la table avec une rangée.Utilisez ce tableau pour déterminer quelles nouvelles mises à jour n'ont pas été appliquées.Puis à chaque mise à jour est appliquée et le numéro de version est mis à jour.Si une mise à jour échoue, vous n'avez que cette mise à jour pour vérifier et vous pouvez ré-exécuter savoir que les mises à jour antérieures ne se reproduira pas.

Comme Carl l'a souligné, vous pouvez utiliser un comparateur de utilitaire pour créer vos scripts de mise à jour.RedGate fait un bon produit, mais SQL Server 2k5 est livré avec TableDiff qui doit faire le travail aussi bien.

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