Core Data WAL模式不会持久更改.db,只有.db-wal和.db-shm

Wiz*_*der 5 sqlite cocoa-touch core-data ios magicalrecord

所以,我一直在使用MagicalRecord开发iPad应用程序,最近在搬到自动迁移商店后,我遇到了一些问题.我需要将我的.db文件从一个设备同步到另一个设备,所以我需要所有数据都在.db中,但似乎启用了WAL日记模式(Magical Record自动迁移存储的默认值)no无论我如何保存它只会将更改持久保存到.db-wal或.db-shm文件.我切换到正常的sqlite商店,一切正常.因此,我的问题是,在启用WAL日记功能的情况下,我是否需要执行任何特殊操作才能将Core Data保存到主数据库,或者我只需要禁用它?

Tom*_*ton 4

更改日志模式。毕竟你有魔法记录源。将SQLite日志模式更改为DELETE,日志模式将在每次事务后删除。禁用日记是一个非常糟糕的主意,不要这样做。但使用不同的模式应该没问题。

一旦持久存储打开,Core Data 不提供任何用于操作日志的 API。SQLite 是一个实现细节,Core Data 不会公开 SQLite 的内部细节。您可以获得的最接近的是options设置 Core Data 堆栈时的参数,您可以在其中更改日志模式(以及 MR 更改日志模式的位置)。