В моем текущем проекте мы используем метод непрерывной интеграции баз данных.
Мы собираем все сценарии SQL-изменений (которые могут создавать / изменять таблицы, хранимые процедуры, а также переносить данные и т. Д.) В проект ac # и развертывать их одновременно с остальной частью программного обеспечения.
Используя эту технику, мы можем гарантировать, что все базы данных разработчика также обновлены, поскольку они интегрированы в систему сборки Visual Studio.
Мы запускаем этот скрипт MSBuild для локальных сборок и для развертывания. Он проверяет номер версии в базе данных и запускает любые сценарии с большим номером.
Я не очень люблю MSBuild, но он выполняет свою работу.
У Мартина Фаулера есть статья о эволюционном проектировании базы данных , в которой есть кое-что об этом.
Если вы используете среду управления SQL Server для внесения изменений, вы можете использовать «Создать сценарий изменений», чтобы позволить ему записывать изменения для вас.