Как «очистить» файл базы данных objectbox? - PullRequest
0 голосов
/ 30 января 2019

подскажите, как мне подождать (аналог VACUUM SQLite) файла базы данных? С сохранением идентификаторов сущностей. Я не смог найти 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 (против 1).Используйте ID 0 (ноль) для вставки новых сущностей.

хорошая работа:

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

но тогда я теряю ID, возможно, я должен полагаться на свое поле ID и не использовать @Id для ссылкив моем приложении?

Boxable - абсолютный класс для всех сущностей в Box с @ Id

...