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

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

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

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

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


person bychkov    schedule 23.04.2009    source источник


Ответы (1)


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

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

Также у Джеффа Этвуда есть хорошая запись в блоге на эту тему. со ссылками на некоторые справочные материалы.

person Chris Andrews    schedule 23.04.2009