【问题标题】: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?或者,即使我完全使用了某些字段名称和数据类型,我在重新设计数据模型的结构时也忽略了一些东西?有没有其他办法解决这个问题?

【问题讨论】:

    标签: ios core-data xcode4 core-data-migration


    【解决方案1】:

    我无法解决问题,但我找到了解决方法。通过直接使用 Sqlite,我能够查询遗留数据并将其导入到我新创建的数据模型中。使用 Sqlite 的一个很好的起点是:

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

    【讨论】:

    • 那么也许你应该接受这个答案作为正确答案。
    猜你喜欢
    • 2016-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-26
    • 2011-04-04
    • 2011-06-06
    • 2016-05-03
    • 2012-02-24
    相关资源
    最近更新 更多