gpt4 book ai didi

ios - 复制了 CoreData sqlite3 文件,但复制不显示任何表格

转载 作者:行者123 更新时间:2023-11-29 10:25:00 24 4
gpt4 key购买 nike

我有一个数据非常敏感的应用程序,只是为了绝对确保在进行应用程序更新和升级 CoreData sqlite 文件时没有数据丢失,我们获取 CoreData .sqlite 文件的副本并将其上传到服务器。那部分似乎工作得很好。该文件的大小完全相同,当我 diff 它与原始文件时,它们是相同的。

但是,当我打开原始 .sqlite 文件并发出 .tables 命令时,我看到了所有相应的表,但是当我打开复制的 .sqlite 文件并发出 .tables 命令我什么也没得到。

使用与模拟器关联的目录,我可以使用 sqlite3 检查原始 .sqlite 文件和文件的预上传副本,我可以看到所有表格:

Kenny-iMac:~/Library/Developer/CoreSimulator/Devices/C9E435A0-F438-45B0-914A-0E586A12589B/data/Containers/Data/Application/0B0C4673-99AF-4EEF-A9BE-654C155BB167/Documents$ sqlite3 MyApp.sqlite
SQLite version 3.8.5 2014-08-15 22:37:57
Enter ".help" for usage hints.
sqlite> .tables
ZBASECLONABLEENTITY ZREPORTCONFIGURATION Z_MODELCACHE
ZCHANGERECORD Z_3LABELS Z_PRIMARYKEY
ZOWNER Z_METADATA
sqlite> .quit
Kenny-iMac:~/Library/Developer/CoreSimulator/Devices/C9E435A0-F438-45B0-914A-0E586A12589B/data/Containers/Data/Application/0B0C4673-99AF-4EEF-A9BE-654C155BB167/Documents$ sqlite3 backup.MyApp.v1.0-to-v1.1.3.1234567.sqlite
SQLite version 3.8.5 2014-08-15 22:37:57
Enter ".help" for usage hints.
sqlite> .tables
ZBASECLONABLEENTITY ZREPORTCONFIGURATION Z_MODELCACHE
ZCHANGERECORD Z_3LABELS Z_PRIMARYKEY
ZOWNER Z_METADATA
sqlite> .quit
Kenny-iMac:~/Library/Developer/CoreSimulator/Devices/C9E435A0-F438-45B0-914A-0E586A12589B/data/Containers/Data/Application/0B0C4673-99AF-4EEF-A9BE-654C155BB167/Documents$

但是,当我在上传的文件上使用 sqlite3 时,我没有看到任何表格:

Kenny-iMac:~/Sites/myapp.com/sqlite_backups$ sqlite3 backup.MyApp.v1.0-to-v1.1.3.1234567.sqlite
SQLite version 3.8.5 2014-08-15 22:37:57
Enter ".help" for usage hints.
sqlite> .tables
sqlite> .quit
Kenny-iMac:~/Sites/myapp.com/sqlite_backups$

原始文件和备份文件的文件大小相同(880640):

Kenny-Mac: [simulator directory] $ ls -l
total 3648
-rw-r--r-- 1 kenny staff 921600 Sep 29 08:52 MyApp.sqlite
-rw-r--r-- 1 kenny staff 32768 Sep 29 08:51 MyApp.sqlite-shm
-rw-r--r-- 1 kenny staff 0 Sep 29 08:52 MyApp.sqlite-wal
-rw-r--r-- 1 kenny staff 880640 Sep 24 16:00 backup.MyApp.v1.0-to-v1.1.3.1234567.sqlite
-rw-r--r-- 1 kenny staff 32768 Sep 29 11:12 backup.MyApp.v1.0-to-v1.1.3.1234567.sqlite-shm
-rw-r--r-- 1 kenny staff 0 Sep 29 08:52 backup.MyApp.v1.0-to-v1.1.3.1234567.sqlite-wal
Kenny-Mac: [simulator directory] $

上传副本大小相同(880640):

Kenny-iMac:~/Sites/herdboss.com/sqlite_backups$ ls -l
total 1720
-rw-r--r-- 1 _www wheel 880640 Sep 29 08:44 backup.HerdBoss.v1.0-to-v1.1.3.1234567.sqlite.oid.0.unverified
Kenny-iMac:~/Sites/herdboss.com/sqlite_backups$

我还将它们与 diff 进行了比较,它们是相同的。

为什么我在备份副本中看不到表格?

最佳答案

您没有提到需要的 -shm-wal 文件,因此您也需要上传它们。您还需要打开具有适当类型的存储文件,我认为这些文件已记录。

关于ios - 复制了 CoreData sqlite3 文件,但复制不显示任何表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32851191/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com