add database migration
This commit is contained in:
parent
f76d90affd
commit
b5baaa89cf
2 changed files with 25 additions and 3 deletions
|
@ -64,8 +64,7 @@ public class TuskyApplication extends Application {
|
|||
|
||||
db = Room.databaseBuilder(getApplicationContext(), AppDatabase.class, "tuskyDB")
|
||||
.allowMainThreadQueries()
|
||||
.addMigrations(AppDatabase.MIGRATION_2_3)
|
||||
.addMigrations(AppDatabase.MIGRATION_3_4)
|
||||
.addMigrations(AppDatabase.MIGRATION_2_3, AppDatabase.MIGRATION_3_4, AppDatabase.MIGRATION_4_5)
|
||||
.build();
|
||||
|
||||
JobManager.create(this).addJobCreator(new NotificationPullJobCreator(this));
|
||||
|
|
|
@ -25,7 +25,7 @@ import android.support.annotation.NonNull;
|
|||
* DB version & declare DAO
|
||||
*/
|
||||
|
||||
@Database(entities = {TootEntity.class, AccountEntity.class}, version = 4, exportSchema = false)
|
||||
@Database(entities = {TootEntity.class, AccountEntity.class}, version = 5, exportSchema = false)
|
||||
public abstract class AppDatabase extends RoomDatabase {
|
||||
|
||||
public abstract TootDao tootDao();
|
||||
|
@ -51,4 +51,27 @@ public abstract class AppDatabase extends RoomDatabase {
|
|||
database.execSQL("ALTER TABLE TootEntity ADD COLUMN visibility INTEGER");
|
||||
}
|
||||
};
|
||||
|
||||
public static final Migration MIGRATION_4_5 = new Migration(4, 5) {
|
||||
@Override
|
||||
public void migrate(@NonNull SupportSQLiteDatabase database) {
|
||||
database.execSQL("CREATE TABLE `AccountEntity` (" +
|
||||
"`id` INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, " +
|
||||
"`domain` TEXT NOT NULL, `accessToken` TEXT NOT NULL, " +
|
||||
"`isActive` INTEGER NOT NULL, `accountId` TEXT NOT NULL, " +
|
||||
"`username` TEXT NOT NULL, `displayName` TEXT NOT NULL, " +
|
||||
"`profilePictureUrl` TEXT NOT NULL, " +
|
||||
"`notificationsEnabled` INTEGER NOT NULL, " +
|
||||
"`notificationsMentioned` INTEGER NOT NULL, " +
|
||||
"`notificationsFollowed` INTEGER NOT NULL, " +
|
||||
"`notificationsReblogged` INTEGER NOT NULL, " +
|
||||
"`notificationsFavorited` INTEGER NOT NULL, " +
|
||||
"`notificationSound` INTEGER NOT NULL, " +
|
||||
"`notificationVibration` INTEGER NOT NULL, " +
|
||||
"`notificationLight` INTEGER NOT NULL, " +
|
||||
"`lastNotificationId` TEXT NOT NULL, " +
|
||||
"`activeNotifications` TEXT NOT NULL)");
|
||||
database.execSQL("CREATE UNIQUE INDEX `index_AccountEntity_domain_accountId` ON `AccountEntity` (`domain`, `accountId`)");
|
||||
}
|
||||
};
|
||||
}
|
Loading…
Reference in a new issue