X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fdb%2FDB.java;h=80652ed1ecb8cf6642b79ff579e73345805dabe6;hb=d95839304defead7c7d605cab2e612f1227cbfed;hp=2dbc7c24fbf8e6ce92de59de116677d403528514;hpb=b0404689e0dbb2b08f02deca7ee5d14636a3baa6;p=mobile-ledger.git diff --git a/app/src/main/java/net/ktnx/mobileledger/db/DB.java b/app/src/main/java/net/ktnx/mobileledger/db/DB.java index 2dbc7c24..80652ed1 100644 --- a/app/src/main/java/net/ktnx/mobileledger/db/DB.java +++ b/app/src/main/java/net/ktnx/mobileledger/db/DB.java @@ -17,9 +17,12 @@ package net.ktnx.mobileledger.db; +import androidx.annotation.NonNull; import androidx.room.Database; import androidx.room.Room; import androidx.room.RoomDatabase; +import androidx.room.migration.Migration; +import androidx.sqlite.db.SupportSQLiteDatabase; import net.ktnx.mobileledger.App; import net.ktnx.mobileledger.dao.CurrencyDAO; @@ -27,7 +30,7 @@ import net.ktnx.mobileledger.dao.PatternAccountDAO; import net.ktnx.mobileledger.dao.PatternHeaderDAO; import net.ktnx.mobileledger.utils.MobileLedgerDatabase; -@Database(version = 51, entities = {PatternHeader.class, PatternAccount.class, Currency.class}) +@Database(version = 53, entities = {TemplateHeader.class, TemplateAccount.class, Currency.class}) abstract public class DB extends RoomDatabase { private static DB instance; public static DB get() { @@ -39,10 +42,35 @@ abstract public class DB extends RoomDatabase { return instance = Room.databaseBuilder(App.instance, DB.class, MobileLedgerDatabase.DB_NAME) + .addMigrations(new Migration[]{new Migration(51, 52) { + @Override + public void migrate(@NonNull SupportSQLiteDatabase db) { + db.beginTransaction(); + try { + db.execSQL("create index fk_pattern_accounts_pattern on " + + "pattern_accounts(pattern_id);"); + db.execSQL("create index fk_pattern_accounts_currency on " + + "pattern_accounts(currency);"); + db.setTransactionSuccessful(); + } + finally { + db.endTransaction(); + } + } + }, new Migration(52, 53) { + @Override + public void migrate(@NonNull SupportSQLiteDatabase db) { + db.execSQL( + "alter table pattern_accounts add negate_amount boolean;"); + } + } + }) .build(); } } public abstract PatternHeaderDAO getPatternDAO(); + public abstract PatternAccountDAO getPatternAccountDAO(); + public abstract CurrencyDAO getCurrencyDAO(); }