领域 - 如何确保db不会被删除

时间:2017-03-12 09:15:02

标签: ios macos realm

我已经在我的Realm数据库中添加了一些字段(在我的iOS / OSX应用程序中),并在启动Realm时添加了迁移。我使用默认配置。 现在我想确定:

  1. 当用户更新应用时,数据库不会被删除 (根据我的测试,它似乎没问题,但我想确定)

  2. 不太重要,但是当我给某人测试版(带有更新的字段)时会发生什么,过了一段时间他将其删除,然后从商店下载以前的版本(没有更新的字段) - 我看到他的所有数据库都被删除了:(

1 个答案:

答案 0 :(得分:1)

除非你告诉它,否则Realm数据库永远不会自行删除!

有一个设置,IMO只能用于开发或真正的短暂缓存,称为Realm.Configuration.deleteRealmIfMigrationNeeded,但如果您从未明确将其设置为true,则Realm如果缺少迁移,将抛出运行时异常。

您还可以使用NSFileManager或类似的POSIX API删除磁盘上的Realm文件,但是您知道何时这样做,因为这完全在您的控制之下。

  

不太重要,但是当我给某人测试版(带有更新的字段)时会发生什么,过了一段时间他将其删除,并从商店下载以前的版本(没有更新的字段) - 我看到了所有他的数据库已被删除:(

如果覆盖存储Realm的默认位置,则会发生这种情况。默认情况下,它存储在iOS上的Documents目录中,这意味着它将通过iTunes和iCloud备份,并在从备份恢复后再次可用。如果您将Realm位置设置为iOS未备份的位置,或者您的用户没有备份他们的设备,那么您就是独立的。