Работа с изменениями базы данных между версиями ветвей / откатов в ASP.NET - PullRequest
2 голосов
/ 24 февраля 2011

У меня есть проект ASP.NET.Естественно, в разных выпусках и ветвях разработки схема БД изменяется.

Какие есть способы аккуратно обработать изменения схемы дружественным образом, чтобы я мог легко переключаться между ветвями разработки?Я использую SQL Server 2005, но общие методы, вероятно, работают.

Ответы [ 2 ]

2 голосов
/ 24 февраля 2011

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

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 . Я с удовольствием использую его годами во всех своих проектах.

0 голосов
/ 24 февраля 2011

Мы помещаем наши изменения схемы в систему контроля версий в то же место, где остальная часть кода, развертываемого для этой версии, является.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...