所以,我一直在使用 MagicalRecord 开发 iPad 应用程序,最近在搬到自动迁移商店后,我遇到了一些问题。我需要将我的 .db 文件从一台设备同步到另一台设备,所以我需要所有数据都在 .db 中,但似乎启用了 WAL 日志模式(Magical Record 自动迁移存储的默认设置)否无论我如何保存它,只保留对 .db-wal 或 .db-shm 文件的更改。我切换到普通的 sqlite 商店,一切正常。所以,我的问题是,启用 WAL 日记功能后,我是否需要做一些特别的事情才能真正让 Core Data 保存到主数据库,还是只需要禁用它?
问问题
1868 次
2 回答
4
更改日记模式。毕竟你有魔法唱片的来源。将 SQLite 日志模式更改为DELETE
,日志模式将在每次事务后删除。禁用日记是一个非常糟糕的主意,不要那样做。但是使用不同的模式应该没问题。
一旦持久存储打开,Core Data 不提供任何用于操作日志的 API。SQLite 是一个实现细节,Core Data 不会暴露内部 SQLite 细节。您可以获得的最接近的是options
设置 Core Data 堆栈时的参数,您可以在其中更改日志模式(以及 MR 更改它的位置)。
于 2013-09-07T20:27:45.633 回答
0
该-wal
文件是数据库的一部分;您必须将其与.db
文件同步。
或者,您可以通过执行检查点将数据复制到主数据库文件。
于 2013-09-07T20:55:39.807 回答