从 Sqlite 迁移到 CoreData

Posted

技术标签:

【中文标题】从 Sqlite 迁移到 CoreData【英文标题】:Migrate from Sqlite to CoreData 【发布时间】:2015-10-05 09:25:02 【问题描述】:

到目前为止,我有一个使用 Sqlite 数据库的应用程序。我想升级应用程序并交付核心数据而不是 Sqlite。我需要将现有的 sqlite db 数据迁移到新的核心数据 db。

我知道在 NSManagedObjectContext 准备好使用后,我需要从 sqlite DB 读取数据并将其写回核心数据 db 的手动方式。

我正在寻找一些自动化的方法。有什么方法可以摆脱手动方式并将现有数据从sqlite db保存到新的核心数据db?

【问题讨论】:

【参考方案1】:

来自Core Data's FAQ:

如何将现有的 SQLite 数据库与 Core Data 一起使用?

除非您将现有的 SQLite 数据库导入核心数据存储,否则您不会这样做。尽管 Core Data 支持 SQLite 作为其持久存储类型之一,但数据库格式是私有的。您不能使用原生 SQLite API 创建 SQLite 数据库并将其直接与 Core Data 一起使用。如果您有现有的 SQLite 数据库,则需要将其导入核心数据存储。此外,不要使用原生 SQLite API 操作现有的 Core Data 创建的 SQLite 存储。

你必须自己自动化。

【讨论】:

以上是关于从 Sqlite 迁移到 CoreData的主要内容,如果未能解决你的问题,请参考以下文章

Django:将项目从 sqlite 迁移到 PostgreSQL 的最佳实践是啥

将 Django DB 从 SQLite 迁移到 MySQL 的最佳方法是啥?

使用 SQLObject 将数据从一个 sqlite 数据库迁移到多个 SQLite 数据库

如何从 SQLite 迁移到 PostgreSQL (Rails)

从 sql server 迁移到大型数据集的 sqlite 的最快方法

从 SQLite 迁移到 Android Room Persistence Library