package com.dayu.rechargeqh.dao; import androidx.annotation.NonNull; import androidx.room.Database; import androidx.room.RoomDatabase; import androidx.room.migration.Migration; import androidx.sqlite.db.SupportSQLiteDatabase; import com.dayu.rechargeqh.dbBean.AdminDataBean; import com.dayu.rechargeqh.dbBean.CardData; import com.dayu.rechargeqh.dbBean.DeviceNumber; import com.dayu.rechargeqh.dbBean.DomainBean; import com.dayu.rechargeqh.dbBean.ElectricPriceBean; import com.dayu.rechargeqh.dbBean.IdentityBean; import com.dayu.rechargeqh.dbBean.IpBean; import com.dayu.rechargeqh.dbBean.PassWordBean; import com.dayu.rechargeqh.dbBean.PassWordCardBean; import com.dayu.rechargeqh.dbBean.PowerBean; import com.dayu.rechargeqh.dbBean.RechargeBean; import com.dayu.rechargeqh.dbBean.RegionBean; import com.dayu.rechargeqh.dbBean.UserCardBean; /** * Copyright (C), 2023, * Author: zuo * Date: 2023-11-05 16:23 * Description: */ @Database(entities = {RegionBean.class, PassWordCardBean.class, CardData.class, DeviceNumber.class, IdentityBean.class, DomainBean.class, ElectricPriceBean.class, IpBean.class, AdminDataBean.class, PassWordBean.class, UserCardBean.class, RechargeBean.class, PowerBean.class}, version = 4, exportSchema = false) public abstract class AppDatabase extends RoomDatabase { public abstract AdminDataDao adminDao(); public abstract LoginPsDao loginPsDao(); public abstract UserCardDao userCardDao(); public abstract RechargeDao rechargeDao(); public abstract PowerDao powerDao(); public abstract IpDao ipDao(); public abstract ElectricPriceDao electricPriceDao(); public abstract DomainPortDao domainPortDao(); public abstract IdentityDao identityDao(); public abstract DeviceNumberDao deviceNumberDao(); public abstract CardDataDao cardDataDao(); public abstract PassWordCardDao passWordCardDao(); public abstract RegionDao regionDao(); public static final Migration MIGRATION_3_4 = new Migration(3, 4) { @Override public void migrate(@NonNull SupportSQLiteDatabase database) { // 在这里添加您的迁移代码 database.execSQL("CREATE TABLE IF NOT EXISTS `RegionBean_temp` " + "(`region` TEXT, `controllerCodel` TEXT, `id` INTEGER, PRIMARY KEY(`id`))"); // 复制数据到新表 database.execSQL("INSERT INTO RegionBean_temp (region, controllerCodel, id) " + "SELECT region, controllerCodel, id FROM RegionBean"); // 删除旧表 database.execSQL("DROP TABLE RegionBean"); // 重命名新表为旧表名 database.execSQL("ALTER TABLE RegionBean_temp RENAME TO RegionBean"); } }; }