package com.dayu.qihealonelibrary.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.qihealonelibrary.dbBean.AdminDataBean;
|
import com.dayu.qihealonelibrary.dbBean.CardData;
|
import com.dayu.qihealonelibrary.dbBean.DeviceNumber;
|
import com.dayu.qihealonelibrary.dbBean.DomainBean;
|
import com.dayu.qihealonelibrary.dbBean.ElectricPriceBean;
|
import com.dayu.qihealonelibrary.dbBean.IdentityBean;
|
import com.dayu.qihealonelibrary.dbBean.IpBean;
|
import com.dayu.qihealonelibrary.dbBean.PassWordBean;
|
import com.dayu.qihealonelibrary.dbBean.PassWordCardBean;
|
import com.dayu.qihealonelibrary.dbBean.PowerBean;
|
import com.dayu.qihealonelibrary.dbBean.RechargeBean;
|
import com.dayu.qihealonelibrary.dbBean.RegionBean;
|
import com.dayu.qihealonelibrary.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");
|
}
|
};
|
|
}
|