Похоже, у вас уже есть какая-то инфраструктура, которую вы написали.
Так что я бы начал кодировать! На данный момент я не знаю ничего такого, что было бы особенно полезно для этого. И если это произойдет, я думаю, что потребуется приложить некоторые усилия, чтобы привести его в соответствие с существующей инфраструктурой. Таким образом, начало кодирования кажется правильным.
Мой подход к этому - использовать файлы исправлений sql (файлы, содержащие операторы sql для обновления схемы / данных БД) с номером версии в начале имени файла. Затем база данных содержит таблицу с информацией о конфигурации (возможно, она у вас уже есть), которая включает информацию о том, в какой версии находится база данных.
Затем вы можете использовать несколько подходов, чтобы автоматически применить патч. Одним из них может быть скрипт, который вы вызываете из postcommit, который проверяет версию базы данных, а затем проверяет, является ли последняя версия, для которой у вас есть исправление, более новой, чем версия, в которой находится база данных, и применяет ее / их по порядку) если так.
Патч db всегда должен заканчиваться обновлением вышеупомянутого номера версии в таблице конфигурации.
Этот подход можно расширить, включив в него возможность настроить новую базу данных на основе файла полного дампа, а затем применить к нему все необходимые исправления для его обновления.