Typowy wzorzec projektowy dla aktualizacji bazy danych w aplikacji wygląda podobnie do poniższego kodu i za każdym razem, gdy aktualizujesz aplikację, w której wymagana jest zmiana bazy danych, podważasz wersję bazy danych używaną w klasie pochodnej SQLiteOpenHelper.
To oczywiście zakłada, że użyłeś SQLiteOpenHelper do zarządzania uzyskiwaniem odniesienia do bazy danych SQLite w twoim dostawcy:
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
if (oldVersion == 1) {
// DO WORK TO UPGRADE FROM VERSION 1 to 2
oldVersion += 1;
}
if (oldVersion == 2) {
// DO WORK TO UPGRADE FROM VERSION 2 to 3
oldVersion += 1;
}
if (oldVersion == 3) {
// DO WORK TO UPGRADE FROM VERSION 3 to 4
oldVersion += 1;
}
}
Pozwala to każdemu użytkownikowi na aktualizację z dowolnej poprzedniej wersji do bieżącej wersji i zapewnia, że wszystkie zmiany są wprowadzane we właściwej kolejności. Tak więc byłoby to zrobione tylko raz, ponieważ w następnej wersji wersja bazy danych staje się wyższa.