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;
import java.io.InputStreamReader;
import java.util.Locale;
+import java.util.UUID;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
TransactionAccount.class
})
abstract public class DB extends RoomDatabase {
- public static final int REVISION = 61;
+ public static final int REVISION = 65;
public static final String DB_NAME = "MoLe.db";
public static final MutableLiveData<Boolean> initComplete = new MutableLiveData<>(false);
private static DB instance;
multiVersionMigration(30, 32), multiVersionMigration(32, 34),
multiVersionMigration(34, 40), singleVersionMigration(41),
multiVersionMigration(41, 58), singleVersionMigration(59),
- singleVersionMigration(60), singleVersionMigration(61)
+ singleVersionMigration(60), singleVersionMigration(61),
+ 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
}
}
}
+ if (toVersion == 63) {
+ try (Cursor c = db.query("SELECT id FROM templates")) {
+ while (c.moveToNext()) {
+ db.execSQL("UPDATE templates SET uuid=? WHERE id=?",
+ new Object[]{UUID.randomUUID().toString(), c.getLong(0)});
+ }
+ }
+ }
}
};
}