| | |
| | | import safeluck.drive.evaluation.DB.failitems.FailProjDao; |
| | | import safeluck.drive.evaluation.DB.failitems.FailedProj; |
| | | import safeluck.drive.evaluation.DB.failitems.FailedProjWorker; |
| | | import safeluck.drive.evaluation.DB.rtktb.RTKConfig; |
| | | import safeluck.drive.evaluation.DB.rtktb.RTKConfigDao; |
| | | import safeluck.drive.evaluation.DB.rtktb.RTKConfigWork; |
| | | |
| | | |
| | | /** |
| | |
| | | * 邮箱:632393724@qq.com |
| | | * All Rights Saved! Chongqing AnYun Tech co. LTD |
| | | */ |
| | | @Database(entities = {Student.class, CriteriaForI.class, FailedProj.class, CriteriaForII.class},version = 2,exportSchema = false) |
| | | @Database(entities = {Student.class, CriteriaForI.class, FailedProj.class, CriteriaForII.class, RTKConfig.class},version = 1,exportSchema = false) |
| | | public abstract class WorkRoomDataBase extends RoomDatabase { |
| | | private static final String TAG = "WorkRoomDataBase"; |
| | | public abstract StudentDao getstudentDao(); |
| | |
| | | private static final int NUMBER_OF_THREADS = 4; |
| | | |
| | | public static final ExecutorService dataBaseWriteExecutor = Executors.newFixedThreadPool(NUMBER_OF_THREADS); |
| | | static Migration migration = new Migration(1,2) { |
| | | @Override |
| | | public void migrate(@NonNull SupportSQLiteDatabase database) { |
| | | database.execSQL("alter table student_table ADD COLUMN begin_time INTEGER NOT NULL DEFAULT 0"); |
| | | } |
| | | }; |
| | | private static final Migration[] ALL_MIGRATIONS = new Migration[]{migration}; |
| | | // static Migration migration = new Migration(1,2) { |
| | | // @Override |
| | | // public void migrate(@NonNull SupportSQLiteDatabase database) { |
| | | // database.execSQL("alter table student_table ADD COLUMN begin_time INTEGER NOT NULL DEFAULT 0"); |
| | | // } |
| | | // }; |
| | | //private static final Migration[] ALL_MIGRATIONS = new Migration[]{migration}; |
| | | |
| | | |
| | | public static WorkRoomDataBase getWorkRoomDataBase(final Context mContext){ |
| | |
| | | if (workRoomDataBase == null){ |
| | | Log.i(TAG, "getWorkRoomDataBase==null "); |
| | | workRoomDataBase = Room.databaseBuilder(mContext.getApplicationContext(),WorkRoomDataBase.class,"work_database") |
| | | .addMigrations(ALL_MIGRATIONS) |
| | | // .addMigrations(ALL_MIGRATIONS) |
| | | .addCallback(new Callback() { |
| | | @Override |
| | | public void onCreate(@NonNull SupportSQLiteDatabase db) { |
| | | super.onCreate(db); |
| | | OneTimeWorkRequest oneTimeWorkRequest = OneTimeWorkRequest.from(SeedDatabaseWorker.class); |
| | | OneTimeWorkRequest oneTimeWorkRequest1 = OneTimeWorkRequest.from(CriteriaForIWorker.class); |
| | | OneTimeWorkRequest oneTimeWorkRequest2 = OneTimeWorkRequest.from(FailedProjWorker.class); |
| | | OneTimeWorkRequest oneTimeWorkRequest3 = OneTimeWorkRequest.from(CriteriaForIIWorker.class); |
| | | OneTimeWorkRequest oneTimeWorkRequest2 = OneTimeWorkRequest.from(FailedProjWorker.class); |
| | | OneTimeWorkRequest RTKConfigWorkRequest = OneTimeWorkRequest.from(RTKConfigWork.class); |
| | | Log.i(TAG, "onCreate: 创建数据库后建立数据表插入数据"); |
| | | WorkManager.getInstance(mContext).enqueue(oneTimeWorkRequest); |
| | | WorkManager.getInstance(mContext).enqueue(oneTimeWorkRequest1); |
| | | WorkManager.getInstance(mContext).enqueue(oneTimeWorkRequest2); |
| | | WorkManager.getInstance(mContext).enqueue(oneTimeWorkRequest3); |
| | | WorkManager.getInstance(mContext).enqueue(RTKConfigWorkRequest); |
| | | } |
| | | |
| | | @Override |
| | |
| | | } |
| | | |
| | | |
| | | public abstract RTKConfigDao getRTKConfigDao(); |
| | | } |