Я большой поклонник VCS в целом и большой бустер Mercurial, но я действительно думаю, что вы идете по неверному пути.
VCS - это не только итеративные изменения, «что», но и ответы «кто», «когда» и «почему». Для базы данных эти ответы гораздо менее интересны или сложны для предоставления VCS. Если вы выполняете ночной экспорт и фиксируете, «кто» всегда будет «cron», а «почему» всегда будет «полночь».
Еще одна вещь, которую современные VCS действительно хорошо делают, это помогает вам объединять изменения из нескольких ветвей. Это менее применимо в мире баз данных. Очень редко вы говорите: «Мне нужна эта структура таблицы, но эти данные», и слияние текста и различий не очень вам поможет.
То, что очень хорошо делает «что» и «когда», - это система инкрементного резервного копирования, и это, вероятно, лучше подходит.
На работе мы используем Tivoli, а дома я использую rdiff-backup и duplicity, но есть множество отличных вариантов.
Полагаю, мое общее эмпирическое правило гласит: «если он был набран вручную человеком, то он попадает в систему контроля версий, а если он был сгенерирован / экспортирован, то он добавляется в инкрементные резервные копии»
Конечно, вы можете сделать эту работу, но я не думаю, что она сильно выиграет у более традиционных решений для резервного копирования.