データベーススキーマを新しいバージョンにアップグレードしたい。その前に、まず既存のデータベースからいくつかのデータを取得する必要があります。問題は、これらを使用してデータベースを読み取ろうとした場合に発生します。
DatabaseHelper dbHelper = new DatabaseHelper(context, DB_VERSION);
SQLiteDatabase database = dbHelper.getReadableDatabase();
アップグレードされる可能性があります(でDatabaseHelper.onUpgrade()
)。これは、アップグレードされていない古いバージョンからいくつかのレコードを抽出したいだけなので、望ましくない動作です。DB_VERSIONで現在のバージョンを渡すことでそれができると思いますが、データベースの現在のバージョンを取得するにはどうすればよいですか(アプリ全体を次のバージョンにアップグレードしていることを忘れないでください)。
または、アップグレードを行わずにデータベースからいくつかのレコードを取得する別の方法はありますか?