gpt4 book ai didi

ios - 没有模型版本控制或读取 sqlite wal 文件的 CoreData 迁移

转载 作者:行者123 更新时间:2023-11-29 12:32:55 39 4
gpt4 key购买 nike

我有一个奇怪的问题,这是因为我忘记更改核心数据模型版本以更新我的应用程序。现在我在 AppStore 上有一个应用程序可以说是 1.0 版。对于 1.1 版,我更改了核心数据模型而没有创建它的第二个版本。我正在使用 Magical Records,它会在发生冲突时删除以前的 Sqlite 文件。我的应用程序在 iOS 7 上使用日志模式(预写日志,wal 文件),我不能使用我的旧 sqlite 文件来获取数据。出于某种原因,当发生冲突时,我无法推送更新 1.x,其中我将所有数据保存在其他地方并在 2.0 上备份。

问题是我不想丢失以前的数据。怎么办?

最佳答案

有两种方法可以解决这个问题:

  1. 从 AppStore 中删除 1.1,以避免对现有用户进行不必要的更新。添加缺少的模型版本(我希望你使用 SVN、GIT 或任何其他源版本控制工具?),理论上你可以手动还原所有更改以使模型看起来与 1.0 相同,然后为 1.1 创建版本。提交支持从 1.0 迁移的新应用版本。
  2. 如上所述从 AppStore 中删除 1.1。使用 FMDB 或任何其他直接访问 sqlite 的框架从旧的 SQLite 存储中手动迁移数据。通过 SQL 读取所有数据,并使用 CoreData 方法将它们插入到 CoreData 存储中。

关于ios - 没有模型版本控制或读取 sqlite wal 文件的 CoreData 迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27172257/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com