Вы можете сделать это, отслеживая текущую версию схемы (то есть номер редакции) и затем имея файл исправления, чтобы привести схему к следующей версии. Вы можете продолжать применять патчи постепенно, пока не достигнете новой версии prod / update.
например.
Скажем, клиент на 5-й версии. С тех пор вы отправили 10-ю и 12-ю версии, но он обновляет только последнюю версию - 15.
Вы можете сделать:
foreach rev in [clientRev ... currentRev]:
apply rev.patch
Итак, вы будете применять патч, чтобы довести до 10-й версии; затем еще один, чтобы привести его к 12-й версии; затем еще один, чтобы довести его до 15-й версии;
Если другой клиент уже на 12-й версии, ему нужно будет только применить последний патч.