This is pretty neat.
I always wondered if it were possible to revert a migration after switching branches. DB state has been changed, but the file isn't on disk. I'm sure it's totally out-of-scope for your revert command, but it made me think of it.