Mẫu thiết kế điển hình cho các bản cập nhật cơ sở dữ liệu trong một ứng dụng giống như đoạn mã bên dưới và mỗi khi bạn cập nhật ứng dụng của mình khi cần thay đổi cơ sở dữ liệu, bạn sẽ chạm vào phiên bản cơ sở dữ liệu được sử dụng trong lớp dẫn xuất SQLiteOpenHelper của mình.
Tất nhiên, điều này giả sử bạn đã sử dụng SQLiteOpenHelper để quản lý việc nhận tham chiếu đến SQLite DB trong trình cung cấp của bạn:
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;
}
}
Điều này cho phép bất kỳ người dùng nào nâng cấp từ bất kỳ phiên bản trước lên phiên bản hiện tại và đảm bảo tất cả các thay đổi được thực hiện theo đúng thứ tự. Vì vậy, nó sẽ chỉ được thực hiện một lần, vì trên phiên bản tiếp theo, phiên bản cơ sở dữ liệu sẽ trở nên cao hơn.