如何“清理”对象箱数据库文件?

时间:2019-01-30 14:27:23

标签: android kotlin objectbox

告诉我,我如何等待(VACUUM SQLite的模拟)数据库文件? 保存了实体ID。我找不到该API。而且我的代码不起作用:

 val all = boxStore.allEntityClasses
 for ( clazz in all ){
      val box = boxStore.boxFor( clazz )
      val box2 = boxStore2.boxFor( clazz )
      val ids = box.query().build().findIds()
      for ( id in ids ){
           val obj = box[id]
           box2.put( obj )
      }
  }

java.lang.IllegalArgumentException:ID大于或等于内部ID序列:1(vs。1)。使用ID 0(零)插入新实体。

做得好:

val obj = box[id]
(obj as Boxable).id = 0
box2.put( obj )

但是我丢失了ID,也许我应该依靠我的ID字段而不在应用程序中使用@Id链接?

Boxable-Box中具有@Id的所有实体的摘要类

0 个答案:

没有答案