Some of the stuff we do internally: 1. Try to avoid data migrations (but for some cases it's OK) 2. Don't use migrations for seeding 3. Squashing migrations from time to time