2009-04-23 3 views
3

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

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

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

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

ответ

3

Я хотел бы предложить список чтения Leon Bambrick назвало 11 Tools for Database Versioning

И я хотел бы добавить Visual Studio для специалистов по базам данных в список which can be found here

Также Джефф Этвуд имеет хороший blog post на эту тему со ссылками на некоторые фоне чтения ,