import net.ktnx.mobileledger.dao.AccountDAO;
import net.ktnx.mobileledger.dao.AccountValueDAO;
import net.ktnx.mobileledger.dao.CurrencyDAO;
-import net.ktnx.mobileledger.dao.DescriptionHistoryDAO;
import net.ktnx.mobileledger.dao.OptionDAO;
import net.ktnx.mobileledger.dao.ProfileDAO;
import net.ktnx.mobileledger.dao.TemplateAccountDAO;
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;
@Database(version = DB.REVISION,
entities = {TemplateHeader.class, TemplateAccount.class, Currency.class, Account.class,
- Profile.class, Option.class, AccountValue.class, DescriptionHistory.class,
- Transaction.class, TransactionAccount.class
+ Profile.class, Option.class, AccountValue.class, Transaction.class,
+ TransactionAccount.class
})
abstract public class DB extends RoomDatabase {
- public static final int REVISION = 59;
+ public static final int REVISION = 64;
public static final String DB_NAME = "MoLe.db";
public static final MutableLiveData<Boolean> initComplete = new MutableLiveData<>(false);
private static DB instance;
multiVersionMigration(20, 22), multiVersionMigration(22, 30),
multiVersionMigration(30, 32), multiVersionMigration(32, 34),
multiVersionMigration(34, 40), singleVersionMigration(41),
- multiVersionMigration(41, 58), singleVersionMigration(59)
+ multiVersionMigration(41, 58), singleVersionMigration(59),
+ singleVersionMigration(60), singleVersionMigration(61),
+ singleVersionMigration(62), singleVersionMigration(63),
+ singleVersionMigration(64)
})
.addCallback(new Callback() {
@Override
// SharedPreferences
if (toVersion == 59) {
try (Cursor c = db.query(
- "SELECT p.id, p.theme_hue FROM profiles p WHERE p.id=(SELECT o.value " +
- "FROM options WHERE o.profile_uid IS NULL AND o.name=?",
+ "SELECT p.id, p.theme FROM profiles p WHERE p.id=(SELECT o.value " +
+ "FROM options o WHERE o.profile_id=0 AND o.name=?)",
new Object[]{"profile_id"}))
{
if (c.moveToFirst()) {
}
}
}
+ 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)});
+ }
+ }
+ }
}
};
}
public abstract OptionDAO getOptionDAO();
- public abstract DescriptionHistoryDAO getDescriptionHistoryDAO();
-
public abstract ProfileDAO getProfileDAO();
}