В моем новом приложении я использую Room. Мне нужно использовать ту же базу данных, что и в первом проекте.
Кроме того, я извлек базу данных из первого проекта, используя библиотеку com.amitshekhar.android:debug-db.
После получения файла базы данных я хотел бы открыть его с помощью Room.
Я создаю базу данных следующим образом:
Код: Выделить всё
Room.databaseBuilder(
androidContext(),
Database::class.java, "database.db"
).createFromAsset("database.db")
.build()
Но я получаю исключение java.lang.IllegalStateException: предварительно упакованная база данных имеет недопустимую схему
Это происходит потому, что в базе данных есть несколько типов данных, которые не поддерживаются. в Room, например NVARCHAR(200), DATE или бит.
Я знаю, что Room использует только пять типов Sql, но я не знаю, как это изменить. чтобы Room мог открыть базу данных такого типа, используя вышеупомянутые методы.
Проблема в том, как преобразовать NVARCHAR(200), DATE или бит в типы данных, поддерживаемые Room. ?
Подробнее здесь: https://stackoverflow.com/questions/570 ... hema-error