我想将数据库架构升级到新版本。在我这样做之前,首先我需要从现有的数据库中获取一些数据。问题是,如果我试图用以下内容读取数据库:
DatabaseHelper dbHelper = new DatabaseHelper(context, DB_VERSION);
SQLiteDatabase database = dbHelper.getReadableDatabase();
它可能会被升级(在DatabaseHelper.onUpgrade()
中),这是一种不需要的行为,因为我只想从旧版本中提取一些记录,而不是升级版本。我想我可以通过在DB_version中传递当前版本来实现,但我如何才能获得数据库的当前版本(记住,我正在将整个应用程序升级到下一个版本)?
或者有没有其他方法可以在不升级的情况下从数据库中获取一些记录?
直接使用SQLiteDatabase
并执行查询以获取版本。它不会尝试升级或以其他方式修改它。以只读方式打开以获得额外的保护:)