逆向工程核心数据数据库导致“找不到源存储模型”错误
Posted
技术标签:
【中文标题】逆向工程核心数据数据库导致“找不到源存储模型”错误【英文标题】:Reverse-engineering Core Data db results in "Can't find model for source store" error 【发布时间】:2011-12-01 12:20:25 【问题描述】:我的任务是重新设计一个使用 Core Data 存储一些值的 iPhone 应用程序。不幸的是,我无法访问原始源代码,但我可以访问旧数据库文件,这些文件直接从安装旧版本应用程序的设备复制而来。
我必须创建具有一些新功能的应用程序的新版本,并且我正在尝试从 Sqlite Db 导入数据并将其迁移到新版本。
我已经无法从旧数据库中读取数据。虽然我可以打开 Sqlite 文件,并且能够在我自己的数据模型中准确再现数据结构,但每次我尝试读取数据时,它都会失败并显示
Can't find model for source store
错误。
忽略旧数据不是一种选择,因为那里存储了重要数据。
我搜索了解决方案并尝试了所有与迁移数据相关的推荐解决方案,但都失败了。也许我不能使用另一个应用程序创建的 Sqlite?或者,即使我完全使用了某些字段名称和数据类型,我在重新设计数据模型的结构时也忽略了一些东西?有没有其他办法解决这个问题?
【问题讨论】:
【参考方案1】:我无法解决问题,但我找到了解决方法。通过直接使用 Sqlite,我能够查询遗留数据并将其导入到我新创建的数据模型中。使用 Sqlite 的一个很好的起点是:
http://www.techotopia.com/index.php/ios_4_iPhone_Database_Implementation_using_SQLite
【讨论】:
那么也许你应该接受这个答案作为正确答案。以上是关于逆向工程核心数据数据库导致“找不到源存储模型”错误的主要内容,如果未能解决你的问题,请参考以下文章