У меня есть существующее приложение для Android, которое предварительно упаковывает базу данных под названием app.db. Файл app.db находится в файле src/main/res/raw. При запуске приложения он копируется в data/data/app/databases.Как использовать orm для запуска миграции
Текущая версия db - это 2, которая была установлена с использованием SQLiteOpenHelper. Я не хочу привязывать этот db к любому объекту модели, но только добавляю или удаляю строки из него, запустив некоторые dmls.
Манифест выглядит следующим образом:
<application
android:label="@string/app_name"
android:icon="@drawable/launcher"
android:name="MyApplication">
...
<meta-data android:name="DATABASE" android:value="app.db" />
<meta-data android:name="VERSION" android:value="3" />
<meta-data android:name="QUERY_LOG" android:value="true" />
</application>
MyAppplication класс расширяет SugarApp. Я создал папку с именем sugar_upgrades в активах и создал в ней файл под названием 3.sql. Этот файл содержит скрипт вроде:
DELETE FROM images WHERE id = 53;
Но после запуска приложения этот скрипт никогда не запускается. Я думаю, что проблема заключается в том, что Sugar ожидает, что db будет присутствовать в папке/data. Но в начале приложения он присутствует в res/raw, и поэтому он не может его поднять. Как я могу это сделать?