Depuis environ deux mois, je recherche des solutions ou des pratiques pour gérer la gestion des versions dans les bases de données. Je cherche ce que les gens considèrent comme le meilleur processus pour gérer cela.
Nous avons 3 environnements pour nos bases de données:
- Développement
- Test d'acceptation utilisateur (UAT)
- Production
Le problème est parfois que nous apportons des modifications à plusieurs choses dans notre base de données de développement et que le moment est venu de déployer, certaines fonctionnalités peuvent ne pas être prêtes à être publiées sur UAT.
Récemment, nous avons commencé à utiliser le contrôle Red Gate SQL Source pour stocker toutes nos entités (avec des validations régulières).
Je pensais à partir des ensembles de modifications (c'est-à-dire que tout depuis l'ensemble de modifications X et le retour est maintenant poussé vers UAT), cela signifie que les gens vérifient uniquement leur code dans le contrôle de code source juste avant de faire un déploiement qui peut devenir déroutant ( d'autant plus que les gens sont oublieux). Un autre problème lié à l'approche de l'ensemble de modifications est s'il y a un bogue dans une procédure stockée qui doit être corrigé, le numéro de l'ensemble de modifications finirait par être hors de portée de notre ensemble de modifications maximal pour la révision, ce qui le rend donc si nous devons recréer la base de données à partir d'un ensemble de modifications maximal, nous repousserions le bogue.
Des suggestions sur un processus?
Merci