SQLite
 sql >> Datenbank >  >> RDS >> SQLite

Zeilen nur beim App-Upgrade aktualisieren

Das typische Entwurfsmuster für Datenbankaktualisierungen in einer App sieht etwa wie der folgende Code aus, und jedes Mal, wenn Sie Ihre Anwendung aktualisieren, wo eine Datenbankänderung erforderlich ist, stoßen Sie die Datenbankversion an, die in Ihrer von SQLiteOpenHelper abgeleiteten Klasse verwendet wird.

Dies setzt natürlich voraus, dass Sie SQLiteOpenHelper verwendet haben, um eine Referenz auf Ihre SQLite-DB in Ihrem Provider zu erhalten:

 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;
    }
}

Dies ermöglicht jedem Benutzer ein Upgrade von einer früheren Version auf die aktuelle Version und stellt sicher, dass alle Änderungen in der richtigen Reihenfolge vorgenommen werden. Es würde also nur einmal gemacht werden, da bei der nächsten Version die Datenbankversion höher wird.