Un bon moyen de suivre les changements de schéma dans plusieurs branches d'un projet de développement serait de suivre un refactorisation de la base de données traiter. Entre autres avantages, ce type de processus intègre l'utilisation de scripts delta et de migration pour appliquer les modifications de schéma à chaque environnement (ou branche dans votre cas). La configuration pourrait ressembler à ceci :
main
src <-- ASP.NET project source
db <-- Database create scripts
delta <-- Database change scripts (SQL delta files)
branch
src
db <-- usually has the same contents as the copy in main branch
delta <-- only the changes necessary for this branch
Chaque fois que vous devez modifier le schéma de la base de données pour une branche particulière, vous créez un script delta SQL qui est utilisé pour appliquer la modification. Pour faciliter les choses, je suggérerais de nommer chaque fichier de script pour inclure la date et l'heure de création afin de les conserver dans l'ordre. Exemple serait :
201102231435_addcolumn.sql
201102231447_addconstraint.sql
201103010845_anotherchange.sql
Ajoutez les fichiers delta au contrôle de source dans la branche où la modification de schéma doit être effectuée. Vous devriez vous retrouver avec chaque branche contenant exactement ce qui est nécessaire pour modifier la base de données correspondante. Certains détails devront peut-être être modifiés pour votre situation en fonction de facteurs tels que votre schéma de branchement et si votre base de données est ou non conservée pendant votre processus de publication (par opposition à recréée).
Enfin, pour essayer de simplifier ces concepts, je recommanderais un outil pour aider à gérer le processus. Ma suggestion est de jeter un œil à DBDeploy / DBDeploy.NET . Je l'utilise avec plaisir depuis des années sur tous mes projets.