Jedním dobrým způsobem, jak sledovat změny schématu v různých větvích vývojového projektu, by bylo sledovat refaktoring databáze proces. Mezi další výhody tento druh procesu zahrnuje použití delta a migračních skriptů k aplikaci změn schématu na každé prostředí (nebo ve vašem případě na větev). Nastavení může vypadat nějak takto:
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
Pokaždé, když potřebujete změnit schéma databáze pro konkrétní větev, vytvoříte delta skript SQL, který se použije k použití změny. Aby to bylo jednodušší, navrhoval bych pojmenovat každý soubor skriptu tak, aby obsahoval datum a čas vytvoření, aby byly zachovány v pořadí. Příklad by byl:
201102231435_addcolumn.sql
201102231447_addconstraint.sql
201103010845_anotherchange.sql
Přidejte delta soubory do ovládacího prvku zdroje ve větvi, kde je třeba provést změnu schématu. Měli byste skončit s tím, že každá větev obsahuje přesně to, co je nutné ke změně příslušné databáze. Některé detaily může být nutné upravit pro vaši situaci v závislosti na věcech, jako je vaše schéma větvení a zda je vaše databáze během procesu vydání zachována (na rozdíl od znovuvytváření).
A konečně, abych se pokusil tyto koncepty zjednodušit, doporučil bych nástroj, který pomůže řídit proces. Můj návrh je podívat se na DBDeploy / DBDeploy.NET . S radostí jej používám roky na všech svých projektech.