This is an excellent and very clever trick; however what it does is store the sql database in binary format, and use the dump only for the diff.
Would it not be simpler to only store the text dump each time? (The dump can be used trivially to rebuild the db should the need arise, and it's human readable).
So maybe a pre-commit or pre-staging hook would be even better for this use case?