27

在SQLite 3.7 中启用WAL(预写日志)(这是 iOS 7 上 Core Data 的默认设置),我如何将 -wal 文件中的内容合并/提交回主数据库文件?

4

3 回答 3

42

从命令行执行以下操作:

  1. sqlite3 MyDatabase.sqlite
  2. VACUUM;
  3. CTRL-D 退出 sqlite 控制台。

完毕!

-wal 文件的大小现在应该为 0,并且所有内容都应该在您的主数据库文件中。

于 2013-10-24T19:00:50.500 回答
35

做一个检查点,即执行PRAGMA wal_checkpoint

于 2013-10-24T20:25:02.050 回答
1

在应用程序“DB Browser for SQLite”中打开一个数据库并在日志模式之间从“WAL”切换到“Off”,然后点击一个按钮“Apply”,然后切换回“WAL”。

于 2020-01-17T07:47:27.643 回答