Core data 核心数据迁移多次通过?

Core data 核心数据迁移多次通过?,core-data,core-data-migration,Core Data,Core Data Migration,我正在为我的一个ipad应用程序实施核心数据版本更改。显然,我的应用程序的某些用户拥有超过1GB的大型数据库。因此,使用“轻量级”进行数据迁移将耗尽内存。因此,我尝试使用多个通道进行定制数据迁移(由Apple建议)。但是,我不确定如何将一个映射模型划分为几个小的映射模型(理想情况下每个实体一个),因为在生成的映射模型上,实体映射都是相关的 我将无法发布图像,因为我不熟悉堆栈溢出 在映射模型中,我又添加了两个映射。对于一个DataMedia,我需要创建两个ASData来将媒体二进制数据存储在一个单

我正在为我的一个ipad应用程序实施核心数据版本更改。显然,我的应用程序的某些用户拥有超过1GB的大型数据库。因此,使用“轻量级”进行数据迁移将耗尽内存。因此,我尝试使用多个通道进行定制数据迁移(由Apple建议)。但是,我不确定如何将一个映射模型划分为几个小的映射模型(理想情况下每个实体一个),因为在生成的映射模型上,实体映射都是相关的

我将无法发布图像,因为我不熟悉堆栈溢出

在映射模型中,我又添加了两个映射。对于一个DataMedia,我需要创建两个ASData来将媒体二进制数据存储在一个单独的表中。大数据最初存储在“DataMedia”表中(在最坏的情况下,该表几乎有800MB大)

所以我的问题是: 1.在不耗尽内存的情况下进行迁移的最佳方法是什么?
2.多次迁移是一种解决方案吗?如果是这样的话,我如何将具有相互关系的实体映射划分为单独的映射模型?这是否意味着我需要手动实现“关系映射”?

您确认过轻量级迁移会在大型数据库中失败吗?我已经用超过500MB的数据库进行了迁移,并且没有因为内存问题而崩溃。是的。我尝试使用仪器进行轻量迁移。一次特定迁移的最高内存为400MB,但是,在我的设备上,它会以270MB发出内存警告。您是否监控了轻量级迁移案例的内存使用情况?最大内存使用量是多少?我从未专门针对轻量级迁移进行过监控。从来没有关于它的问题(甚至没有记忆警告),所以我从来没有特别注意过它。在开发过程中,我密切关注所有内存警告。从未有过轻量级迁移。你能详细介绍一下你所做的更改的类型和数据库中的数据类型吗?好的,基本上我有一个表(媒体)包含两个巨大的列,其中包含二进制文件(主要是图像数据)。我必须规范化这个(媒体)表,并将二进制文件移动到数据表中(我必须在新版本的数据模型中创建一个新表)。因此,在迁移的同时,我在MediaToMedia映射中使用自定义迁移策略在destinationContext中创建两个新的数据记录。当系统尝试迁移媒体对象时,内存爆炸。。。