如何将SQLite 3.7 WAL文件的内容合并到主数据库文件中

时间:2013-10-24 18:58:01

标签: sqlite ios7 wal

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

3 个答案:

答案 0 :(得分:25)

从命令行执行以下操作:

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

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

答案 1 :(得分:24)

执行checkpoint,即执行PRAGMA wal_checkpoint

答案 2 :(得分:0)

在应用程序“用于SQLite的数据库浏览器”中,打开一个数据库,并在日记模式中从“ WAL”切换到“关”,然后点击按钮“应用”,然后切换回“ WAL”