Миграции. Тем более сейчас большинство механизмов / фреймворков двигаются в этом направлении.
Если данные тестовые, то можно вести один скрипт, в котором вести учет базы и его туда же… в git в смысле.
Насчет софта, дифов и прочего — как вам уже советовали — вы сразу все изменения пишите в sql файл. Если я понимаю, что много в базе буду менять, то завожу sql с названием дня и туда все запросы пишу сразу.