X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fdb%2FDB.java;h=97c16dbbad3917d1d8630ca704777ac33aceac98;hp=b03faa62fbb1d19b9e75a2c8ce1a2b33a49c54a4;hb=880f0348558f1edff451cea49cd57a7688e291d5;hpb=4a44ce88b61f00c2710877cf26818db2728b5d91 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 b03faa62..97c16dbb 100644 --- a/app/src/main/java/net/ktnx/mobileledger/db/DB.java +++ b/app/src/main/java/net/ktnx/mobileledger/db/DB.java @@ -41,6 +41,8 @@ import net.ktnx.mobileledger.dao.TransactionAccountDAO; import net.ktnx.mobileledger.dao.TransactionDAO; import net.ktnx.mobileledger.utils.Logger; +import org.jetbrains.annotations.NotNull; + import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; @@ -58,7 +60,7 @@ import static net.ktnx.mobileledger.utils.Logger.debug; TransactionAccount.class }) abstract public class DB extends RoomDatabase { - public static final int REVISION = 63; + public static final int REVISION = 65; public static final String DB_NAME = "MoLe.db"; public static final MutableLiveData initComplete = new MutableLiveData<>(false); private static DB instance; @@ -79,7 +81,24 @@ abstract public class DB extends RoomDatabase { multiVersionMigration(34, 40), singleVersionMigration(41), multiVersionMigration(41, 58), singleVersionMigration(59), singleVersionMigration(60), singleVersionMigration(61), - singleVersionMigration(62), singleVersionMigration(63) + singleVersionMigration(62), singleVersionMigration(63), + singleVersionMigration(64), new Migration(64, 65) { + @Override + public void migrate(@NonNull @NotNull SupportSQLiteDatabase database) { + try (Cursor c = database.query( + "SELECT id, description FROM transactions")) + { + while (c.moveToNext()) { + final long id = c.getLong(0); + final String description = c.getString(1); + database.execSQL( + "UPDATE transactions SET description_uc=? WHERE id=?", + new Object[]{description.toUpperCase(), id + }); + } + } + } + } }) .addCallback(new Callback() { @Override