Как вы подходите к управлению версиями базы данных при выполнении регулярных сборок?

StackOverflow https://stackoverflow.com/questions/783806

Вопрос

У меня есть проект веб-приложения, который работает с довольно большой базой данных (более 5 ГБ).Данные в базе данных секционированы по проектам.Каждый проект занимает примерно 1 ГБ, и это минимальный набор для работы приложения (мы делаем некоторые математические вычисления, которые распространяются на весь этот набор данных, и удаление части набора данных не является вариантом).

В рамках ежедневной сборки мы также развертываем наше приложение в тестовой среде.Для этого сборщик запускает специальную утилиту обновления БД, которая обновляет текущую БД до соответствующей версии.Но у нас также есть требование хранить все ежедневные сборки, чтобы команда контроля качества могла «вернуться в прошлое» и сравнить результаты вычислений из разных сборок.Как бы мы ни пытались создать обратно совместимую схему данных, иногда это очень сложно и отнимает много времени.Итак, отсюда и вопрос:

Какой подход к управлению версиями базы данных вы бы использовали, если бы вам требовалось поддерживать работу предыдущих ежедневных сборок и вам нужно управлять большой базой данных во время ежедневных сборок?

Мы используем SQL Server 2005 и ColdFusion с некоторым количеством Java во внешнем интерфейсе, если это имеет какое-либо значение.

Это было полезно?

Решение

Я бы посоветовал прочитать список Леона Бабрика под названием 11 инструментов для управления версиями баз данных

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

Также у Джеффа Этвуда есть хороший Сообщение блога по этой теме со ссылками на дополнительную информацию.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top