android - 如果我们不知道开始版本,则进行房间迁移
问题描述
我正在为 android 应用程序编写迁移,如下所示。
val MIGRATION_5_6: Migration = object : Migration(5, 6) {
override fun migrate(database: SupportSQLiteDatabase) {
database.execSQL("ALTER TABLE survey_grid " + " ADD COLUMN new_column INTEGER NOT NULL")
}
}
val MIGRATION_6_7: Migration = object : Migration(6, 7) {
override fun migrate(database: SupportSQLiteDatabase) {
database.execSQL("ALTER TABLE survey_grid " + " ADD COLUMN new_column_2 INTEGER NOT NULL")
}
}
val MIGRATION_1_7: Migration = object : Migration(1, 7) {
override fun migrate(database: SupportSQLiteDatabase) {
database.execSQL("ALTER TABLE survey_grid " + " ADD COLUMN new_column_3 INTEGER NOT NULL")
}
}
现在我的当前版本是 7,但我不知道用户的当前应用程序版本。从start version到current version=7可以有多种组合 。
我如何编写迁移,它为我提供用户旧版本的应用程序和新版本,因为它是在SQLiteDatabaseHelper的onUpgrade函数中完成的?任何帮助将不胜感激。
解决方案
推荐阅读
- swift - 金属着色器 stage_in
- mysql - 错误调用字符串上的成员函数 store() - 图像上传错误
- python - 递归 Python3.9 的替代方案(GW2 配方计算)
- javascript - 如何选择然后取消选择区域?
- postgresql - 触发对 RabbitMq 的 Postgresql 更新
- julia - 如何将一个类型定义为另一个已定义类型的向量?
- c# - 定时器有时不触发
- c - 虚拟文件系统如何处理读取和写入等系统调用?
- python - Faker的pyint中参数“step=1”是什么意思?
- c++ - 在 C++ 中使用 protobuf 对象的 protobuf 映射