左晓为主开发手持机充值管理机
generallibrary/src/main/java/com/dayu/general/dao/BaseDaoSingleton.kt
@@ -24,13 +24,33 @@
            }
        }
        // 数据库迁移策略:从版本4迁移到版本5
        private val MIGRATION_4_5 = object : Migration(4, 5) {
            override fun migrate(database: SupportSQLiteDatabase) {
                // 创建管理卡表
                database.execSQL("""
                    CREATE TABLE IF NOT EXISTS `manager_card` (
                        `id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
                        `cardAddress` TEXT NOT NULL,
                        `orderId` TEXT NOT NULL,
                        `isReported` INTEGER NOT NULL DEFAULT 0,
                        `isCardWritten` INTEGER NOT NULL DEFAULT 0,
                        `operatorId` TEXT NOT NULL DEFAULT '',
                        `createTime` INTEGER NOT NULL
                    )
                """.trimIndent())
            }
        }
        fun getInstance(context: Context): AppDataBase {
            if (baseDao == null) {
                baseDao = Room.databaseBuilder<AppDataBase>(
                    context,
                    AppDataBase::class.java,
                    SqlitePath + "ConfigurationData_generalV1"
                ).allowMainThreadQueries().build()
                ).allowMainThreadQueries()
                .addMigrations(MIGRATION_3_4, MIGRATION_4_5) // 添加迁移策略
                .build()
            }
            return baseDao as AppDataBase
        }
@@ -43,7 +63,7 @@
                            AppDataBase::class.java,
                            "GeneralLibrary.db"
                        )
                        .addMigrations(MIGRATION_3_4) // 添加迁移策略
                        .addMigrations(MIGRATION_3_4, MIGRATION_4_5) // 添加迁移策略
                        .build()
                    }
                }