Le modèle de conception typique pour les mises à jour de base de données dans une application ressemble au code ci-dessous et chaque fois que vous mettez à jour votre application lorsqu'une modification de la base de données est requise, vous modifiez la version de la base de données utilisée dans votre classe dérivée de SQLiteOpenHelper.
Ceci, bien sûr, suppose que vous avez utilisé SQLiteOpenHelper pour gérer l'obtention d'une référence à votre base de données SQLite dans votre fournisseur :
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;
}
}
Cela permet à tout utilisateur de mettre à niveau n'importe quelle version précédente vers la version actuelle et garantit que toutes les modifications sont effectuées dans le bon ordre. Donc, cela ne serait fait qu'une seule fois, car à la prochaine version, la version de la base de données devient supérieure.