Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.wsmodule.structure.repository.local.database;
- import android.arch.persistence.db.SupportSQLiteDatabase;
- import android.arch.persistence.room.Database;
- import android.arch.persistence.room.Room;
- import android.arch.persistence.room.migration.Migration;
- import android.content.Context;
- import com.core.module.repository.local.FileEntity;
- import com.core.module.repository.local.TranslationEntity;
- import com.wsmodule.structure.manager.database.BaseRoomDatabase;
- import com.wsmodule.structure.repository.local.entity.ApkEntity;
- import com.wsmodule.structure.repository.local.entity.ConfigEntity;
- import com.wsmodule.structure.repository.local.entity.DeviceSettingsEntity;
- import com.wsmodule.structure.repository.local.entity.HamburgerEntity;
- import com.wsmodule.structure.repository.local.entity.HelpDeskEntity;
- import com.wsmodule.structure.repository.local.entity.LayoutEntity;
- import com.wsmodule.structure.repository.local.entity.MeetingTypeEntity;
- import com.wsmodule.structure.repository.local.entity.ModuleEntity;
- import com.wsmodule.structure.repository.local.entity.RequiredClientFieldEntity;
- import com.wsmodule.structure.repository.local.entity.RequiredSummaryFieldEntity;
- import com.wsmodule.structure.repository.local.entity.ScreenEntity;
- import com.wsmodule.structure.repository.local.entity.TopMenuEntity;
- import com.wsmodule.structure.repository.local.query.StructureQuery;
- @Database(entities = {
- ModuleEntity.class,
- TranslationEntity.class,
- ScreenEntity.class,
- TopMenuEntity.class,
- MeetingTypeEntity.class,
- ConfigEntity.class,
- ApkEntity.class,
- HamburgerEntity.class,
- RequiredClientFieldEntity.class,
- RequiredSummaryFieldEntity.class,
- LayoutEntity.class,
- FileEntity.class,
- DeviceSettingsEntity.class,
- HelpDeskEntity.class},
- version = 41, exportSchema = false)
- public abstract class StructureDatabase extends BaseRoomDatabase {
- private final static String NAME = "structure.db";
- private static StructureDatabase STRUCTURE_DATABASE = null;
- public abstract StructureQuery query();
- public synchronized static StructureDatabase getInstance(Context context) {
- if (StructureDatabase.STRUCTURE_DATABASE == null) {
- StructureDatabase.STRUCTURE_DATABASE = Room.databaseBuilder(context,
- StructureDatabase.class, NAME)
- .allowMainThreadQueries()
- .openHelperFactory(getFactory())
- .addMigrations(MIGRATION_01)
- .addMigrations(MIGRATION_02)
- .build();
- }
- return StructureDatabase.STRUCTURE_DATABASE;
- }
- private final static Migration MIGRATION_01 = new Migration(30, 40) {
- @Override
- public void migrate(SupportSQLiteDatabase database) {
- database.execSQL("ALTER TABLE 'ConfigEntity' ADD 'can_attach_files' INTEGER NOT NULL DEFAULT 1");
- }
- };
- private final static Migration MIGRATION_02 = new Migration(40, 41) {
- @Override
- public void migrate(SupportSQLiteDatabase database) {
- database.execSQL("CREATE TABLE 'ApkEntity' ('id' INTEGER NOT NULL DEFAULT 1, "
- + "'version' TEXT,"
- + "'last_update' TEXT,"
- + "'name' TEXT,"
- + "'url' TEXT,"
- + "PRIMARY KEY('id'))");
- }
- };
- }
Add Comment
Please, Sign In to add comment