Мы пытаемся обновить sqlite_sequence
с помощью следующего кода.
WeNoteRoomDatabase weNoteRoomDatabase = WeNoteRoomDatabase.instance();
weNoteRoomDatabase.query(new SimpleSQLiteQuery("UPDATE sqlite_sequence SET seq = 0 WHERE name = 'attachment'"));
Однако это никак не влияет. Я sqlite_sequence
содержимое таблицы sqlite_sequence
с помощью браузера SQLite. Счетчик не сбрасывается в 0.
Если мы попытаемся выполнить тот же запрос вручную с помощью браузера SQLite для того же файла SQLite, он будет работать просто отлично.
Наша база данных номеров довольно проста.
@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