Итак, я до сих пор сильно полагался на автоматизированный (ну почти) метод onCreate
/ onUpgrade
моей базы данных SQLite
.Все работало нормально, и мне просто пришлось изменить номер версии базы данных, чтобы она автоматически запускалась onUpgrade
.
Но теперь я сталкиваюсь с этим исключением, когда пытаюсь добавить столбец вмоя база данных и изменение номера версии:
SQLiteException: Can't upgrade read-only database from version X to Y
Глядя на мой код, достаточно убедиться, что первый запрос моего приложения - это запрос SELECT
, и я использую getReadableDatabase
, чтобы открыть соединениек этому, потому что запрос не требует доступа для записи.
Так что мне было интересно, как мне решить такую проблему?Должен ли я использовать getWritableDatabase
все время?(В качестве обходного пути, это работает для прохождения моего обновления) Конечно, если оба метода существуют, потому что они предназначены для использования, а соединение оптимизировано для доступа только для чтения, когда это необходимо?Я не хотел бы потерять выгоду.