Vous avez besoin d'un ensemble de scripts de correctifs de version à publication. Sur les systèmes de production avec des données en direct, c'est un peu plus compliqué car vous devrez peut-être aussi manipuler des données dans ces scripts.
Redgate SQL Compare Pro est un très bon outil pour générer ces scripts ou faire des fonctions d'assurance qualité sur les scripts (évidemment, vous ne devriez pas vraiment l'utiliser pour les deux rôles). Parce que vous avez des données client en direct impliquées, vous devrez tester les mises à niveau de régression.
Je ne pense pas qu'il existe un moyen facile de le faire. Vous devrez développer le script et tester toutes les manipulations de données qu'il effectue. Faites les tests de version en version pour un ensemble utile de mises à niveau. La clé ici est d'organiser un environnement de test miroir de production que vous pouvez tester les correctifs avant de les appliquer à un système en direct.
P.S. N'oubliez pas de sauvegarder et de tester la restauration sur la base de données de production avant d'exécuter le script de correctifs, mais vous le saviez déjà; -}
Comment faites-vous face à la mise à jour continue de ce script? Cela ne rend-il pas difficile à lire si vous devez regarder la création de la table initiale, puis une collection d'insertions de colonne, potentiellement réparties sur un tas de scripts suivants? –
Eh bien non, je ne regarde jamais la création de la table d'origine. Je fais simplement les modifications qui doivent être faites en fonction de ma dernière version. Donc, je n'ajoute que quelques modifications après chaque build. – Maltrap