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.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,  UserCardBean.class, RechargeBean.class, PowerBean.class}, version = com.dayu.baselibrary.dao.AppDatabase.version, exportSchema = false) 
 | 
public abstract class QHAloneAppDatabase extends RoomDatabase { 
 | 
  
 | 
  
 | 
    public abstract AdminDataDao adminDao(); 
 | 
  
 | 
  
 | 
  
 | 
    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"); 
 | 
        } 
 | 
    }; 
 | 
  
 | 
} 
 |