Аналог CVS для базы.

Labutin

Новичок
Аналог CVS для базы.

Команда трудится над проектом. Разработчики разнесены территориально. Общение в основном через инет. Активно используется CVS для файлов. Все довольны.
Но есть трудности с синхронизацией данных в MySQL базе. Например сейчас это делается так. Перед commit'ом делается mysqldump базы в sql-файл и он коммитится вместе с другими файлами проекта. После update база пересоздается из этого sql-файла. Решение плохо тем, что если база разрастается до нескольких десятков метров, то каждый раз ее гонять накладно :(
Чтобы вы посоветовали использовать для синхронизации изменений в базах разработчиков проекта.
Хотелось бы гонять только изменения. Мне тут подкинули ссылку на проект http://www.mysqldiff.org Пока думаю, как бы его прикрутить...
А как вы решаете подобную проблему?

P.S. Сервера MySQL могут стоять на локальных машинах разработчиков, которые находятся за Firewall'ами.
 

Krishna

Продался Java
Labutin: Может стоит делать дампы по отдельным таблицам, а не всей базы сразу?
 

Labutin

Новичок
Krishna
Да, это смягчит проблему слишком большого файла базы.
Но в нашем случае чаще всего большими оказываются все одна-две таблицы. И они довольно часто меняются. Причем меняются не сильно. Добавляется или удаляется несколько записей. При этом когда в CVS происходит коммит, то на сервер в любом случае уходит измененный файл полностью и только на сервере идет определение изменений diff :(
 

Blindman

Новичок
Зачем всем разработчикам все данные из кокой-то базы данных, используемой при разработке?
 

Blindman

Новичок
После каждого коммита прогоняются тесты с несколькими деятками мегабай данных? Может быть, стоит пересмотреть методы тестирования?
 

Labutin

Новичок
Blindman
Мы уже отвлеклись от темы. Если бы специфика работы не требовала синхронизации баз, то я бы не создал эту тему.
Будем считать, что это неотъемлемая часть постановки задачи.
 

Krisha

pain in the neck
Labutin
Мы не отвлеклись от темы, суть проблеммы в ответе на вопрос: "Зачем гонять тестовые данные?"
 

Labutin

Новичок
Krisha
Да не тестовые они. По ходу развития проекта, база заполняется. Бывает, что на новых данных вылезают баги. Для их воспроизведения и исправления программеру нужны данные.
 

romy4

invoke [brain]
хм. а зачем таскать ВСЮ базу? обычно есть пару десятков/сотен строк данных, на которых тестятся и ловятся баги. или у вас столь много различных механизмов в вашей системе?
 
Сверху