Il modello di progettazione tipico per gli aggiornamenti del database in un'app è simile al codice seguente e ogni volta che aggiorni l'applicazione in cui è richiesta una modifica del database, esegui il bump della versione del database utilizzata nella tua classe derivata da SQLiteOpenHelper.
Questo, ovviamente, presuppone che tu abbia utilizzato SQLiteOpenHelper per gestire l'ottenimento di un riferimento al tuo DB SQLite nel tuo provider:
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;
}
}
Ciò consente a qualsiasi utente di eseguire l'aggiornamento da qualsiasi versione precedente alla versione corrente e garantisce che tutte le modifiche vengano apportate nell'ordine corretto. Quindi, sarebbe fatto solo una volta, perché nella versione successiva, la versione del database diventa superiore.