В нашем текущем потоке разработки мы внедрили миграцию баз данных (используя Ruckusing), чтобы синхронизировать схему db наших разработчиков. Он отлично работает, довольно прост в использовании, но теперь мы переключились на git как VCS, перед которым стоит следующая проблема в нашей системе управления версиями баз данных.
При проверке ветки, которая находилась в разработке в течение некоторого времени, может случиться так, что схема базы данных сильно отклонилась от схемы в ветке, из которой я пришел. В некоторых случаях это приводит к конфликтам базы данных. Логически кажется, что нам нужно запускать миграции в зависимости от того, в какой ветке мы были ранее, но которые могут быть сложными очень быстро и могут столкнуться с проблемами с некоторыми людьми. И насколько я знаю, не существует системы миграции db, которая знает о ветвях
Добавленная сложность возникает при переключении на ветвь функции, нам может потребоваться выполнить некоторые миграции в то время как другие вниз... технически это кажется невозможным с использованием наших текущих сценариев dbmigration, есть ли разумные альтернативы? Существуют ли какие-либо предпочтительные способы работы с миграциями баз данных в очень активной и разветвленной системе разработки?