skjiisa / Character-Tracker

Elder Scrolls character tracker for iOS
BSD 2-Clause "Simplified" License
1 stars 0 forks source link

Core Data database cannot convert from App Store version to current version #108

Closed skjiisa closed 3 years ago

skjiisa commented 3 years ago

Changes to the database were made, but they were not done properly, so installing the current version over 1.0 on the App Store leads to database corruption and crash on startup.

skjiisa commented 3 years ago

All of the changes made can individually be performed with a lightweight conversion, but the issue seems to be that Image is renamed and has its property changed at the same time. Because there are these two changes to the same entity, it can't perform the lightweight conversion.

What I'm going to attempt to do is to perform two lightweight conversions, one right after the other, on the new app install. Simply making two new xcdatamodel versions doesn't do this on its own, as it'll only try to convert from the currently installed version to the newest version, ignoring any intermediate steps I want it to take.

skjiisa commented 3 years ago

It seems what I can do instead is to keep the name of Image the same in the data model, but change the Swift class name to ImageLink, as it currently is.