zuoxiao
2024-03-28 7b80692e038ec9b1f06fbfdc61498c6ff3f97d71
app/src/main/java/com/dayu/rechargeqh/dao/AppDatabase.java
@@ -1,7 +1,10 @@
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;
@@ -14,6 +17,7 @@
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;
/**
@@ -22,7 +26,7 @@
 * Date: 2023-11-05 16:23
 * Description:
 */
@Database(entities = {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 = 3, exportSchema = false)
@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 {
@@ -49,4 +53,26 @@
    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");
        }
    };
}