Upgrade Database

Terkadang setelah membuat dan menggunakan database mungkin kita akan perlu menambahkan tabel-tabel yang lain, mengubah skema database, atau menambahk kolom ke tabel kita. Dalam hal ini, kiya perlu memigrasi data yang ada dari database lama ke database baru.

Untuk mengupgrade database, kita hanya perlu mengubah konstanta 'DATABASE_VERSION' dengan nilai yang lebih tinggi. Misalnya, bila versi sebelumnya adalah 1 diubah menjadi 2:
public class DBAdapter {
static final String KEY_ROWID = "_id";
static final String KEY_NAME = "name";
static final String KEY_EMAIL = "email";
static final String TAG = "DBAdapter";

static final String DATABASE_NAME = "MyDB";
static final String DATABASE_TABLE =" contacts";
static final int DATABASE_VERSION = 2;
Catatan:
Sebelum kita menjalankan contoh ini, pastikan untuk menandai komentar pada bagian blok 'delete' dari kode latihan sebelumnya. Karena jika tidak, proses delete akan gagal karena tabel di database akan di-drop.

Ketika kita menjalankan app lebih dari satu kali, kita akan melihat pesa berikut di Log:
DBAdapter(8705): Upgrading database from version 1 to2 , which will destroy all old data.
Dalam contoh ini karena supaya mudah, kita cukup melakukan drop tabel yang ada dan membuat yang baru. Tetapi dalam kasus riil, kita sebaiknya melakukan back-up tabel yang ada dan kemudian men-copy-nya terlebih dahulu.

No comments: