Mark
Mark

Reputation: 3389

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?

Upvotes: 1

Views: 509

Answers (1)

Mark
Mark

Reputation: 3389

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

Upvotes: 1

Related Questions