onUpgrade() 方法

SQLiteOpenHelper 是一個用於管理資料庫建立和版本管理的幫助程式類。

在此類中, onUpgrade() 方法負責在對架構進行更改時升級資料庫。它在資料庫檔案已存在時呼叫,但其版本低於當前版本的應用程式中指定的版本。對於每個資料庫版本,必須應用你所做的特定更改。

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