Android metodo onUpgrade ()


Esempio

SQLiteOpenHelper è una classe helper per gestire la creazione del database e la gestione delle versioni.

In questa classe, il metodo onUpgrade() è responsabile dell'aggiornamento del database quando si apportano modifiche allo schema. Viene chiamato quando il file di database esiste già, ma la sua versione è inferiore a quella specificata nella versione corrente dell'app. Per ogni versione del database, è necessario applicare le modifiche specifiche apportate.

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
    // Loop through each version when an upgrade occurs.
    for (int version = oldVersion + 1; version <= newVersion; version++) {
        switch (version) {

            case 2:
                // Apply changes made in version 2
                db.execSQL(
                    "ALTER TABLE " +
                    TABLE_PRODUCTS +
                    " ADD COLUMN " +
                    COLUMN_DESCRIPTION +
                    " TEXT;"
                );
                break;

            case 3:
                // Apply changes made in version 3
                db.execSQL(CREATE_TABLE_TRANSACTION);
                break;
        }
    }
}