Когда вы расширяете свой класс SQLiteOpenHelper, вы определяете, какую версию базы данных использовать.Например, следующим образом:
private static class DbWordsHelper extends SQLiteOpenHelper {
private DbWordsHelper(Context context) {
super(context, DB_NAME, null, DB_VERSION);
}
Если вы обновляете свою базу данных, вы должны вручную изменить DB_VERSION в своем коде и пересобрать приложение.Новая версия должна быть выше предыдущей.Когда SQLiteOpenHelper обнаруживает, что номер вашей версии был изменен, он вызывает метод onUpgrade, где вы должны предоставить логику, как обновить вашу базу данных:
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// Here in the future should be method that change the schema of the
// database. Now we just delete
try {
db.execSQL(DROP_TABLE_WORDS);
} catch (SQLException e) {
Log.e(TAG, "Error while updating database" + TABLE_WORDS, e);
}
onCreate(db);
}
Таким образом, даже если вы добавляете новые таблицы, версия не изменяется, пока вы не вручнуюсделать это в коде.