Ошибка выдачи базы данных комнаты после переустановки - Комната не может проверить целостность данных - PullRequest
1 голос
/ 08 мая 2020

Я нахожусь в стадии разработки проекта. Итак, мне в принципе не нужны миграции на данный момент. Раньше у меня был FirstTable, а SecondTable - новый. У меня уже был предварительно упакованный db. Ниже приведен используемый код.

@Database(
    entities = [
        FirstTable::class,
        SecondTable::class
    ],
    version = 1,
    exportSchema = true
)
abstract class MyDatabase : RoomDatabase() {

    companion object {
        private const val databaseName = "my-db"
        private const val prepackagedDB = "prepackaged-db"

        fun buildDatabase(context: Context): MyDatabase {
            return Room.databaseBuilder(context, MyDatabase::class.java, databaseName) 
                .createFromAsset(prepackagedDB) 
                .build()
        }
    }
}

Я также указал android:allowBackup="false" в AndroidManifest. xml. Я не хочу использовать fallbackToDestructiveMigration(), который также очищает мою предварительно упакованную базу данных.

Я удалил приложение в эмуляторе (уровень API 29) и запустил приложение. Я получаю эту ошибку

Я не могу понять, почему переустановка вызывает эту проблему. Может ли кто-нибудь сообщить мне, что я пошла не так?

1 Ответ

0 голосов
/ 11 мая 2020

Включил новую таблицу (пустую) в предварительно упакованную БД, и она работает нормально.

...