我是否需要进行大量迁移才能修改核心数据中的关系?
Do I need to do a heavy migration to modify relationships in core data?
我的应用程序从我的后端加载用户信息,然后尝试使用核心数据保存所有内容。我的数据模型中有几个实体和一些一对多的关系。我的问题是,如果我的数据库中的数据发生变化,并且我需要修改实体之间的关系,例如add/delete,我是否需要进行大量迁移?网上查了很多,好像轻量级迁移不行,因为我没有手动添加attributes/entities。如果我确实需要进行大量迁移,那么该怎么做呢?关于那里的大量迁移,我真的找不到太多。
我还想过每次更改时只删除以前的数据模型,然后保存整个新实体。我不太确定这是否是一个好方法,是否有更好的方法来 cache/store 从后端检索的数据?
如果您不更改模型,则需要不 迁移。
也就是说,"migration" 在 Apple 使用它的意义上,即仅参考数据 model。你的意思可能是一个数据"update"。
您以通常的方式进行数据更新:获取要修改的对象,更改它们(例如,将不同的对象设置为关系),保存。
可能您已经这样做了,但如果您没有这样做,当您更改模型时,您需要另存为新版本,然后 select 那个错误应该消失。
步骤如下:
- Select Model.xcdatamodeld.
- 单击编辑器 > 添加模型版本....
- 单击“完成”接受模型 2 作为版本名称。
- Select Model.xcdatamodeld.
- 单击“查看”>“实用工具”>“显示文件检查器”(或按 Option+⌘+1)。
- 将当前模型版本设置为模型 2。
这里 link 解释了这个过程:
Learning CoreData for iOS: Managed Object Model Migration
我的应用程序从我的后端加载用户信息,然后尝试使用核心数据保存所有内容。我的数据模型中有几个实体和一些一对多的关系。我的问题是,如果我的数据库中的数据发生变化,并且我需要修改实体之间的关系,例如add/delete,我是否需要进行大量迁移?网上查了很多,好像轻量级迁移不行,因为我没有手动添加attributes/entities。如果我确实需要进行大量迁移,那么该怎么做呢?关于那里的大量迁移,我真的找不到太多。
我还想过每次更改时只删除以前的数据模型,然后保存整个新实体。我不太确定这是否是一个好方法,是否有更好的方法来 cache/store 从后端检索的数据?
如果您不更改模型,则需要不 迁移。
也就是说,"migration" 在 Apple 使用它的意义上,即仅参考数据 model。你的意思可能是一个数据"update"。
您以通常的方式进行数据更新:获取要修改的对象,更改它们(例如,将不同的对象设置为关系),保存。
可能您已经这样做了,但如果您没有这样做,当您更改模型时,您需要另存为新版本,然后 select 那个错误应该消失。
步骤如下:
- Select Model.xcdatamodeld.
- 单击编辑器 > 添加模型版本....
- 单击“完成”接受模型 2 作为版本名称。
- Select Model.xcdatamodeld.
- 单击“查看”>“实用工具”>“显示文件检查器”(或按 Option+⌘+1)。
- 将当前模型版本设置为模型 2。
这里 link 解释了这个过程: Learning CoreData for iOS: Managed Object Model Migration