開発プロジェクトの複数の分岐にわたるスキーマの変更を追跡する 1 つの良い方法は、 に従うことです。データベースのリファクタリング 処理する。他の利点の中でも特に、この種のプロセスには、デルタおよび移行スクリプトの使用が組み込まれており、スキーマの変更を各環境 (またはあなたの場合はブランチ) に適用します。セットアップは次のようになります:
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
特定のブランチのデータベース スキーマを変更する必要があるたびに、変更を適用するために使用する SQL デルタ スクリプトを作成します。簡単にするために、各スクリプト ファイルに作成日時を含めた名前を付けて、順番を保つことをお勧めします。例:
201102231435_addcolumn.sql
201102231447_addconstraint.sql
201103010845_anotherchange.sql
スキーマの変更が必要なブランチのソース管理に差分ファイルを追加します。対応するデータベースを変更するために必要なものを正確に含む各ブランチになるはずです。ブランチ スキームや、データベースがリリース プロセス中に保持されるかどうか (再作成ではなく) によっては、状況に合わせていくつかの詳細を調整する必要がある場合があります。
最後に、これらの概念を単純化するために、プロセスの管理に役立つツールをお勧めします。私の提案は、DBDeploy を見てみることです。 / DBDeploy.NET .私は何年もの間、すべてのプロジェクトで喜んでそれを使用してきました.