Just wanted to share this gotcha:
1. Create model A and initialize some record from
within the very migration.
2. Create model B (perhaps 27 migrations later,
two weeks later).
3. An observer of A uses B.
Now you can't do a fresh install (or go down to VERSION corresponding to 1. and then up).