Realm удалить все, кроме одной таблицы

Это Realm Java, поэтому я делаю

realm.beginTransaction();
realm.deleteAll();
realm.commitTransaction();

У меня 20 или около того Realm классы. Я только хочу оставить один.

Вместо того чтобы делать

realm.beginTransaction();
  realm.delete(Table1.class);
  realm.delete(Table2.class);
  realm.delete(Table3.class);
  ...
realm.commitTransaction();

Есть ли способ удалить все таблицы, кроме одной?

"deleteAll.except (Table12.class)" и т. д.?

Спасибо!

1 ответ

Решение

Конечно!

final RealmConfiguration realmConfiguration = realm.getConfiguration();
r.executeTransaction((realm) -> {
    for(Class<? extends RealmModel> clazz : realmConfiguration.getRealmObjectClasses()) {
        if(clazz != Table12.class) {
            realm.delete(clazz);
        }
    }
});
Другие вопросы по тегам