目前我有一个由sql数据库备份的持久存储协调器。我有很多实体。当我更改模型时,我尝试使用轻量级迁移。如果它失败我只是删除所有内容并重新设置它。现在这很好用。现在让我说我必须保存一些书签。由于您可以拥有多个书签,我认为最好将核心数据保存。但是在这种情况下,我需要一个真正的迁移策略,以便用户不会丢失其书签。
我正考虑创建一个仅包含书签实体的单独持久性商店协调员。有了这个,我可以在必要时进行镜像,而另一个perstitent商店可以在不迁移的情况下使用。
这可能并推荐吗?或者我有什么陷阱需要注意。我希望我能正确解释我的情况。我也在考虑用NSCoding保存书签,但我不确定在这种情况下哪个更好。
感谢任何帮助。
答案 0 :(得分:1)
完全有可能。分离刚从服务器下载的静态数据(因为它不应该被备份)和用户创建的数据(应该是),这当然是个好主意。
您的主要缺陷在于确保您将商店/环境分开,并且您的代码正确地命名了一些内容,以便您明白您正在使用的内容。
如果你只有几个书签,它们很小,而且它们通常都是同时加载的,那么NSCoding
是一个好的选择。如果你有很多,他们很大或很少加载,那么它不是一个很好的选择。