I have an iphone app that allows you to download map tiles, which are stored in a core-data sqlite database. I'd previously set up database migration using momd, following this guide - http://iphonedevelopment.blogspot.com/2009/09/core-data-migration-problems.html
That all works perfect when testing upgrading, when I have small amounts of data in each table. But when I have a large map downloaded, 100 MB or so, the database migration times out, and the app doesn't launch within 10 seconds. The database is then corrupted, and only deleting the app and re-installing it will fix it.
My data model change affected the waypoint table, which is relatively small and just added a column, so it shouldn't have needed to do a large operation across the whole map tile table.
Is there a better way to handle data model changes?