sql >> Database >  >> RDS >> SQLite

Upgrade rijen alleen bij app-upgrade

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.




  1. Hoe het volgende/vorige record in MySQL te krijgen?

  2. Slaapstand + PostgreSQL + netwerkadrestype (inet, cdir)

  3. Is het mogelijk om parameters voor de tabel- of kolomnaam op te geven in Prepared Statements of QueryRunner.update()?

  4. Knee-Jerk Wait-statistieken:CXPACKET