アプリでのデータベース更新の一般的なデザインパターンは次のコードのようになり、データベースの変更が必要なアプリケーションを更新するたびに、SQLiteOpenHelperから派生したクラスで使用されるデータベースバージョンをバンプします。
もちろん、これは、SQLiteOpenHelperを使用して、プロバイダーでSQLiteDBへの参照を管理していることを前提としています。
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;
}
}
これにより、すべてのユーザーが以前のバージョンから現在のバージョンにアップグレードでき、すべての変更が正しい順序で行われるようになります。したがって、次のバージョンではデータベースのバージョンが高くなるため、これは1回だけ実行されます。