Я пытаюсь перенести данные из старой базы данных SQLite в базу данных моей комнаты во время создания. Старая база данных была создана Greendao, и я хочу импортировать его данные в новую схему, управляемую комнатой.class MigrateCallback : RoomDatabase.Callback() {
private var runMigrate = false
override fun onCreate(db: SupportSQLiteDatabase) {
super.onCreate(db)
runMigrate = true
}
override fun onOpen(db: SupportSQLiteDatabase) {
super.onOpen(db)
if (runMigrate) {
// ATTACH old database
// Migrate data
// DETACH old database
}
}
}
< /code>
Миграция, по -видимому, работает нормально - данные перемещаются правильно. < /p>
Однако после выполнения операций DAO (например, poomdao.upsert (...)), я получаю следующую ошибку из комнаты: < /p>
Cannot run invalidation tracker. Is the db closed? (Ask Gemini)
android.database.sqlite.SQLiteException: no such table:
room_table_modification_log (code 1 SQLITE_ERROR):
, while compiling: SELECT * FROM room_table_modification_log WHERE invalidated = 1;
< /code>
Почему операции в комнате не провалились даже после того, как прикрепленный DB отделен? Предварительно заполнять или мигрирующие базы данных, но они не совсем работают в моей ситуации: < /p>
предварительная популяция Florina Muntenescu с комнатой может содержать проблему расы? Совместим с ожиданиями комнаты или может быть размещен в качестве предварительно заполненного актива. Но в моем случае старая база данных была создана с использованием Greendao, и ее схема и структура метаданных не соответствуют тому, что ожидает комната, делая этот подход неподходящим.
Подробнее здесь: https://stackoverflow.com/questions/796 ... -db-closed
Комната Android - не может запустить трекер недействительной. ДБ закрыт? ⇐ Android
Форум для тех, кто программирует под Android
1748482900
Anonymous
Я пытаюсь перенести данные из старой базы данных SQLite в базу данных моей комнаты во время создания. Старая база данных была создана Greendao, и я хочу импортировать его данные в новую схему, управляемую комнатой.class MigrateCallback : RoomDatabase.Callback() {
private var runMigrate = false
override fun onCreate(db: SupportSQLiteDatabase) {
super.onCreate(db)
runMigrate = true
}
override fun onOpen(db: SupportSQLiteDatabase) {
super.onOpen(db)
if (runMigrate) {
// ATTACH old database
// Migrate data
// DETACH old database
}
}
}
< /code>
Миграция, по -видимому, работает нормально - данные перемещаются правильно. < /p>
Однако после выполнения операций DAO (например, poomdao.upsert (...)), я получаю следующую ошибку из комнаты: < /p>
Cannot run invalidation tracker. Is the db closed? (Ask Gemini)
android.database.sqlite.SQLiteException: no such table:
room_table_modification_log (code 1 SQLITE_ERROR):
, while compiling: SELECT * FROM room_table_modification_log WHERE invalidated = 1;
< /code>
Почему операции в комнате не провалились даже после того, как прикрепленный DB отделен? Предварительно заполнять или мигрирующие базы данных, но они не совсем работают в моей ситуации: < /p>
предварительная популяция Florina Muntenescu с комнатой может содержать проблему расы? Совместим с ожиданиями комнаты или может быть размещен в качестве предварительно заполненного актива. Но в моем случае старая база данных была создана с использованием Greendao, и ее схема и структура метаданных не соответствуют тому, что ожидает комната, делая этот подход неподходящим.
Подробнее здесь: [url]https://stackoverflow.com/questions/79641966/android-room-cannot-run-invalidation-tracker-is-the-db-closed[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия