Я сталкивался с подобной задачей, насколько помню мы делали потабличный и построчный дамп базы перед merge-м dev ветки в master. Т.е. всегда была "последняя версия базы" в дампах + "последние миграции". А при откате, презаливали дампы. Пришли к этому, т.к. кроме миграций, нужно было хранить некоторые данные, которые попадали в бд не из миграций (настройки пользователоей и т.д.). Наверное, сумбурно написал, но думаю, идея понятна..