я тоже как-то задумывался над этим. В принципе нормальное желание. Только посмотреть на эту ситуацию можно немного со стороны. Например, для исходных кодов придумали патчи. Это где в файлах в начале строк стоят +/-. В принципе, если рассматривать записи в БД как строки, то к ним можно применить аналогичный подход. Можно на это смотреть как на файл типа XML. Тогда можно "придумать" что-то вроде "команд" для модификации структуры "добавить узел по пути xPath", "удалить узел по xPath", "заменить узел по xPath на указанный" и т.д. Даже алгоритм git-а можно было бы "обдумать". Хотя подтверждаю - будет непросто это реализовать.