SQLiteOpenHelper.OnUpgrade(SQLiteDatabase, Int32, Int32) Metode

Definisi

Dipanggil ketika database perlu ditingkatkan.

[Android.Runtime.Register("onUpgrade", "(Landroid/database/sqlite/SQLiteDatabase;II)V", "GetOnUpgrade_Landroid_database_sqlite_SQLiteDatabase_IIHandler")]
public abstract void OnUpgrade(Android.Database.Sqlite.SQLiteDatabase? db, int oldVersion, int newVersion);
[<Android.Runtime.Register("onUpgrade", "(Landroid/database/sqlite/SQLiteDatabase;II)V", "GetOnUpgrade_Landroid_database_sqlite_SQLiteDatabase_IIHandler")>]
abstract member OnUpgrade : Android.Database.Sqlite.SQLiteDatabase * int * int -> unit

Parameter

db
SQLiteDatabase

Database.

oldVersion
Int32

Versi database lama.

newVersion
Int32

Versi database baru.

Atribut

Keterangan

Dipanggil ketika database perlu ditingkatkan. Implementasi harus menggunakan metode ini untuk menghilangkan tabel, menambahkan tabel, atau melakukan hal lain yang perlu ditingkatkan ke versi skema baru.

Dokumentasi SQLite ALTER TABLE dapat ditemukan di sini. Jika Anda menambahkan kolom baru, Anda bisa menggunakan ALTER TABLE untuk menyisipkannya ke dalam tabel langsung. Jika Anda mengganti nama atau menghapus kolom, Anda dapat menggunakan ALTER TABLE untuk mengganti nama tabel lama, lalu membuat tabel baru lalu mengisi tabel baru dengan konten tabel lama.

Metode ini dijalankan dalam transaksi. Jika pengecualian dilemparkan, semua perubahan akan secara otomatis digulung balik.

<em>Penting:</em> Anda TIDAK boleh memodifikasi langkah migrasi yang ada dari versi X ke X+1 setelah build dirilis yang berisi langkah migrasi tersebut. Jika langkah migrasi memiliki kesalahan dan berjalan pada perangkat, langkah tersebut TIDAK akan berjalan kembali di masa mendatang jika perbaikan dilakukan pada langkah migrasi.

Misalnya, langkah migrasi mengganti nama kolom database dari foo menjadi bar kapan nama seharusnya baz. Jika langkah migrasi tersebut dirilis dalam build dan berjalan pada perangkat pengguna, kolom akan diganti namanya menjadi bar. Jika pengembang kemudian mengedit langkah migrasi yang sama ini untuk mengubah nama menjadi baz seperti yang dimaksudkan, perangkat pengguna yang telah menjalankan langkah ini masih akan memiliki nama bar. Sebagai gantinya, langkah migrasi BARU harus dibuat untuk memperbaiki kesalahan dan mengganti nama bar menjadi baz, memastikan kesalahan diperbaiki pada perangkat yang telah menjalankan langkah migrasi dengan kesalahan.

Java dokumentasi untuk android.database.sqlite.SQLiteOpenHelper.onUpgrade(android.database.sqlite.SQLiteDatabase, int, int).

Bagian dari halaman ini adalah modifikasi berdasarkan pekerjaan yang dibuat dan dibagikan oleh Android Open Source Project dan digunakan sesuai dengan istilah yang dijelaskan dalam Lisensi Creative Commons 2.5 Lisensi Atribusi.

Berlaku untuk