SQLite
 sql >> база данни >  >> RDS >> SQLite

Възможно ли е да се мигрира от Realm към Sqlite?

Не мисля, че разбирам напълно какъв ти е проблема. Ако питате дали има инструмент, който да автоматизира миграцията на данни вместо вас, тогава не, няма такъв инструмент.

В противен случай е доста просто:

  1. Манипулирайте onCreate , onDowngrade и onUpgrade методи в реализацията на вашия SQLiteOpenHelper клас.

  2. Във вашия onCreate метод, веднага след като създадете таблици, вземете всичките си данни от Realm и вмъкнете в таблици на SQLite.

Нещо като това:

Realm realm = Realm.getDefaultInstance();
RealmResults<MyClass> all = realm.where(MyClass.class)
                                 .findAll();
for (MyClass instance : all) {
    doInsert(instance);
}

Всъщност ви предлагам да разгледате как да намалите размера на APK, докато използвате Realm, но зависи от вас

РЕДАКТИРАНЕ 1 Ще трябва да се уверите, че първо мигрирате данните и след това изтривате файловете на Realm. Въпреки че не файловете с данни правят вашия APK голям, а по-скоро действителните библиотеки, които идват с Realm. Така че за това, за съжаление, ще трябва да предприемете две стъпки:първа актуализация на изданието, която мигрира данните към SQLite, и след известно време (като седмица) можете да пуснете актуализация, която премахва напълно библиотеките на Realm. Надявам се, че има смисъл.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да извлека всички редове в моята DB?

  2. Актуализиране на данните за дейността от услугата, когато е на пауза

  3. Как работи функцията Date() в SQLite

  4. Предварително попълнената база данни не работи при API 28 не хвърля такова изключение на таблицата

  5. Справяне с конфликти на първичен ключ при вмъкване на данни в SQLite