5

所以,我一直在使用 MagicalRecord 开发 iPad 应用程序,最近在搬到自动迁移商店后,我遇到了一些问题。我需要将我的 .db 文件从一台设备同步到另一台设备,所以我需要所有数据都在 .db 中,但似乎启用了 WAL 日志模式(Magical Record 自动迁移存储的默认设置)否无论我如何保存它,只保留对 .db-wal 或 .db-shm 文件的更改。我切换到普通的 sqlite 商店,一切正常。所以,我的问题是,启用 WAL 日记功能后,我是否需要做一些特别的事情才能真正让 Core Data 保存到主数据库,还是只需要禁用它?

4

2 回答 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 回答