Управление версиями базы данных при непрерывной интеграции
У меня странная ситуация, когда база данных SQL-сервера используется по меньшей мере 4 различными приложениями, и над каждым из этих приложений работают 4 разные группы.
Мы планируем обеспечить непрерывную интеграцию с использованием TFS 2012 для всех этих групп разработчиков.
Теперь нет проблем с управлением кодом для этих приложений, проблема заключается в управлении изменениями базы данных и поддержании версий. Однако основная проблема заключается в том, что каждая команда может иметь свой собственный набор изменений в одной и той же базе данных.
Цель состоит в том, чтобы в определенный момент я смог собрать артефакты (как для веб-сайтов, так и для изменений в базе данных) для всех 4 приложений и развернуть их в промежуточной или производственной среде.
Пожалуйста посоветуй!
1 ответ
Я бы предложил использовать проекты баз данных Visual Studio для управления схемой базы данных и ее развертыванием.
Если вы развернете 4 отдельных приложения по отдельности, то я бы предложил иметь 4 ветви проекта БД, по одному для каждого проекта. И объедините ветвь обратно с веткой MAIN db, когда приложение выйдет.
Если вы развернете 4 приложения вместе, то вам действительно не нужно будет изолировать изменения каждой команды, и вы можете просто иметь одну ветвь, которая содержит код для всех 4 команд и базу данных.