Мы пытаемся обновить sqlite_sequence
следующим кодом.
WeNoteRoomDatabase weNoteRoomDatabase = WeNoteRoomDatabase.instance();
weNoteRoomDatabase.query(new SimpleSQLiteQuery("UPDATE sqlite_sequence SET seq = 0 WHERE name = 'attachment'"));
Однако это никак не влияет.Я проверяю содержимое таблицы sqlite_sequence
с помощью браузера SQLite.Счетчик не сбрасывается до 0.
Если мы попытаемся выполнить тот же запрос вручную с помощью браузера SQLite для того же файла SQLite, он будет работать просто отлично.
Наша база данных Room довольно проста.
@Database(
entities = {Attachment.class},
version = 6
)
public abstract class WeNoteRoomDatabase extends RoomDatabase {
private volatile static WeNoteRoomDatabase INSTANCE;
private static final String NAME = "wenote";
public abstract AttachmentDao attachmentDao();
public static WeNoteRoomDatabase instance() {
if (INSTANCE == null) {
synchronized (WeNoteRoomDatabase.class) {
if (INSTANCE == null) {
INSTANCE = Room.databaseBuilder(
WeNoteApplication.instance(),
WeNoteRoomDatabase.class,
NAME
)
.build();
}
}
}
return INSTANCE;
}
}
Есть идеи, что мы упустили?
Дополнительная информация: Очистка sqlite_sequence не работает в комнате Android