Reverse-engineering Core Data db results in “Can't find model for source store” error

I have the task to re-engineer an iPhone app which makes use of Core Data to store some values. Unfortunately I do not have access to the original source code but I do have acces to old database files, copied directly from the device where the old version of the app is installed.

I have to create a new version of the app with some new functionality and I am trying to import the data from the Sqlite Db and migrate it to a new version.

I am already failing at the task to read the data from the old database. Though I can open the Sqlite file and such was able to exactly reproduce the data structure in my own datamodel, everytime I try to read the data, it fails with a

Can't find model for source store

error.

Ignoring the old data is not an option because there is important data stored there.

I googled for solutions and tried every recommended solution related to migrating data but it all fails. Maybe I can not use the Sqlite created by another app? Or so I overlook something in re-engineering the structure of the datamodel even when I used exactly the some field names and datatypes? Is there another way around this?

Answers


I could not solve the issue but I found a workaround. By using Sqlite directly, I was able to query the legacy data and import it into my newly created data model. A good starter point for using Sqlite is here:

http://www.techotopia.com/index.php/IOS_4_iPhone_Database_Implementation_using_SQLite


Need Your Help

How to store a java.util.Date into a MySQL timestamp field in the UTC/GMT timezone?

java mysql

I used a new Date() object to fill a field in a MySQL DB, but the actual value stored in that field is in my local timezone.

Eclipse IDE: complete class member names with “this.” prefix

java eclipse coding-style

For consistency I want to add "this." prefix to all classes members. I have done it when I wrote the code, mostly.