You can do this by tracking the current version of the schema (i.e. version number), and then having a patch file to bring the schema to the next version. You can continue to apply the fixes gradually until you reach the new version of prod / update.
eg. Let's say the client is in revision 5. Since then, you sent patches 10 and 12, but it is updated only to the latest version - 15.
You can do:
foreach rev in [clientRev ... currentRev]:
apply rev.patch
So, you will apply the patch to bring to version 10; then another one to bring it to version 12; then another one to bring it to version 15;
If the other client is already in rev 12, he will only need to apply the last patch.
source
share