调试数据库和 SQLite 文件不一致

Debugging a Database and SQLite file not consistent

我正在调试一个 Android 应用程序的问题,该问题似乎源于其 SQLite 数据库中缺少数据。当我使用 Android 调试数据库打开数据库时,会显示数据。但是,当我使用 Android Studio 的设备文件资源管理器将 SQLite 文件保存到我的计算机,然后使用 SQLite 客户端打开它时,数据丢失了。

使用 Room 管理 SQLite 数据库,并使用 TablePlus 和 DB Browser for SQLite 在我的电脑上查看数据库。

房间使用 write-ahead 日志记录 (WAL)。大多数时候,这意味着 SQLite 数据库由三个文件组成:

  • 无论您将基础文件命名为什么
  • 一个 .wal
  • 一个 .shm

如果您想在其他地方使用数据库(例如,桌面 SQLite 浏览器,backup/restore),您需要复制所有三个。