Могу ли я оставить метод onUpgrade () пустым, если версия базы данных такая же? - PullRequest
0 голосов
/ 21 октября 2018

Я создал приложение, которое использует базу данных sqlite, и версия базы данных равна 1 в классе DbHelper.Также версия приложения 1 в build.gradle.Предположим, я опубликовал приложение и теперь хочу обновить это приложение до версии приложения 2. Во-первых, мне тоже нужно увеличить версию БД?Это обязательно, даже если структура базы данных не тронута?Если это обязательно, тогда это хорошо.Я провел поиск по обновлению базы данных и получу оттуда помощь.Но если это не является обязательным, то можно ли оставить метод onUpgrade() пустым?

Чтобы было понятно;

versionCode 1 (build.gradle)

private static final int DATABASE_VERSION = 1
...

    @override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){
            //empty
    }     

versionCode 2 (build.gradle)

private static final int DATABASE_VERSION = 1; //if this is fine
...

@override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){
        //what should I do here?
    }

1 Ответ

0 голосов
/ 21 октября 2018

Обязательно ли, даже если структура базы данных не затронута?

Нет.Увеличивать версию схемы базы данных можно только при изменении схемы (например, добавление столбцов, добавление таблиц, удаление таблиц).

Но если это не является обязательным, могу ли я оставить метод onUpgrade () пустым?

Да, хотя вы могли бы подумать о добавлении IllegalStateException в отладочные сборки:

if (BuildConfig.IS_DEBUG) {
  throw new IllegalStateException("Not yet implemented");
}

Таким образом, при разработке и тестировании вы не забудете о onUpgrade()если вы увеличиваете версию схемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...