Управление версиями базы данных при непрерывной интеграции

У меня странная ситуация, когда база данных SQL-сервера используется по меньшей мере 4 различными приложениями, и над каждым из этих приложений работают 4 разные группы.

Мы планируем обеспечить непрерывную интеграцию с использованием TFS 2012 для всех этих групп разработчиков.

Теперь нет проблем с управлением кодом для этих приложений, проблема заключается в управлении изменениями базы данных и поддержании версий. Однако основная проблема заключается в том, что каждая команда может иметь свой собственный набор изменений в одной и той же базе данных.

Цель состоит в том, чтобы в определенный момент я смог собрать артефакты (как для веб-сайтов, так и для изменений в базе данных) для всех 4 приложений и развернуть их в промежуточной или производственной среде.

Пожалуйста посоветуй!

1 ответ

Решение

Я бы предложил использовать проекты баз данных Visual Studio для управления схемой базы данных и ее развертыванием.

Если вы развернете 4 отдельных приложения по отдельности, то я бы предложил иметь 4 ветви проекта БД, по одному для каждого проекта. И объедините ветвь обратно с веткой MAIN db, когда приложение выйдет.

Если вы развернете 4 приложения вместе, то вам действительно не нужно будет изолировать изменения каждой команды, и вы можете просто иметь одну ветвь, которая содержит код для всех 4 команд и базу данных.

Другие вопросы по тегам