Het typische ontwerppatroon voor database-updates in een app ziet er ongeveer zo uit als de onderstaande code en elke keer dat u uw toepassing bijwerkt waarbij een databasewijziging vereist is, verhoogt u de databaseversie die wordt gebruikt in uw van SQLiteOpenHelper afgeleide klasse.
Dit veronderstelt natuurlijk dat je SQLiteOpenHelper hebt gebruikt om een verwijzing naar je SQLite DB in je provider te krijgen:
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;
}
}
Hierdoor kan elke gebruiker upgraden van een eerdere versie naar de huidige versie en worden alle wijzigingen in de juiste volgorde aangebracht. Het zou dus maar één keer worden gedaan, omdat bij de volgende versie de databaseversie hoger wordt.