c# - Realm .net 实现是否支持本地导出
问题描述
我已经尽我所能查看了 API,但我想知道是否有办法使用导出或类似的东西在设备(Android、iOS 等)上备份 Realm .net 数据库。比云同步更需要该功能,我知道这是另一种备份方式。
Any.net 领域库设备端备份实施想法表示赞赏。
解决方案
Realm 文件只是一个文件——如果它没有打开,你可以使用文件系统 API 来备份它。如果 Realm 实例已打开,则复制文件是不安全的,因为它不是原子操作,并且文件内容可能会在复制时更改。
如果您需要在 Realm 打开时执行备份,您可以使用Realm.WriteCopy来执行此操作。例如,像这样:
// This is the Realm you want to backup
var myRealm = Realm.GetInstance(...);
// Store the file in Backups/myRealm.backup
var myRealmPath = myRealm.Config.DatabasePath;
var folder = Path.GetDirectoryName(myRealmPath);
var backupPath = Path.Combine(folder, "Backups", "myRealm.backup");
var backupConfig = new RealmConfiguration(backupPath);
// You can also encrypt the backup
// backupConfig.EncryptionKey = new byte[] { 1, 2, 3, ..., 64 };
myRealm.WriteCopy(backupConfig);
推荐阅读
- ruby-on-rails - Minitest 为 JSON:Module 返回 NoMethodError any_instance
- php - 从控制器调用时未定义的变量
- vb.net - 为什么我的处理列表框双击事件的子程序不起作用?
- ubuntu - 为什么链接器找不到 tcl/tk?
- amazon-s3 - 使用 Kinesis Data Stream 源的 Kinesis Firehose 传输流将数据写入 S3 时出现问题
- caching - 将 512KB 主存映射到 1KB 缓存的作业题
- jquery - 如何在图像标签上注册击键?
- javascript - 如何在 Chai 和 Postman 中测试 number 和 null 的数据类型?
- c - 如何根据成员的值对结构实例进行排序
- python - 创建文件夹和文件,为它们添加时间戳