从Xamarin客户端SDK删除ROS上的.realm文件

时间:2017-10-31 22:32:36

标签: xamarin realm realm-mobile-platform realm-object-server

我将class User extends Model { public function Company() { return $this->hasOne(Company::class); } } class Company extends Model { protected $connection = 'mysql2'; public function User() { return $this->belongsTo(User::class); } } ROS 2.0的最新客户端SDK一起使用。在我的应用程序中,用户有几个Xamarin个对象(每个对象由一个单独的领域表示)。用户可以创建和删除DataStore(领域)。创建工作正常,但调用DataStores并不会删除服务器上的域文件。

我在尝试通过调用以下方式删除它之前处置Realm:

Realm.DeleteRealm(someDataStore.Realm.Config);

但它仍在someDataStore.Realm.Dispose(); Realm.DeleteRealm(someDataStore.Realm.Config); 上。由于Realm Studio不支持删除领域文件,如何清除ROS中未使用的领域?

1 个答案:

答案 0 :(得分:1)

你是对的 - 按照设计,Realm.DeleteRealm方法只会删除本地副本,而不会删除远程领域。如果您确定需要删除远程领域,则可以使用ROS的REST API执行此操作:

wget --method DELETE --header 'Authorization: %ADMIN-TOKEN%' http://%ROS-URL%/realms/files/%REALM-PATH%

,其中

  • %REALM-PATH%是您要删除的Realm文件的网址编码虚拟路径,例如/some-user-id/myrealm将成为some-user-id%2Fmyrealm
  • %ADMIN-TOKEN%可以在%PATH-TO-ROS%/data/keys/admin.json
  • 中找到
  • %ROS-URL%显然是你的ROS实例的网址。

请注意,如果删除远程文件,还应删除与其同步的所有应用中的所有本地副本,否则您将收到错误(即本地副本不会尝试重新同步本身与删除的遥控器一起)。