Один хороший способ отслеживать изменения схемы в нескольких ветвях проекта разработки - это следовать процессу реорганизации базы данных . Среди других преимуществ этот тип процесса включает использование дельта-сценариев и сценариев миграции для применения изменений схемы к каждой среде (или ветви в вашем случае). Настройка может выглядеть примерно так:
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 . Я с удовольствием использую его годами во всех своих проектах.