SQLite
 sql >> Baza danych >  >> RDS >> SQLite

Czy możliwa jest migracja z Realm do Sqlite?

Chyba nie rozumiem w pełni, na czym polega twój problem. Jeśli pytasz, czy istnieje narzędzie, które zautomatyzuje migrację danych, to nie, nie ma takiego narzędzia.

W przeciwnym razie jest to raczej proste:

  1. Obsługa onCreate , onDowngrade i onUpgrade metody w implementacji twojego SQLiteOpenHelper klasa.

  2. W swoim onCreate metody, zaraz po utworzeniu tabel pobierz wszystkie dane z Realm i wstawiaj do tabel SQLite.

Coś takiego:

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

Właściwie sugeruję, abyś zastanowił się, jak zmniejszyć rozmiar APK podczas korzystania z Realm, ale to zależy od Ciebie

EDYTUJ 1 Musisz najpierw przeprowadzić migrację danych, a następnie usunąć pliki Realm. Chociaż to nie pliki danych sprawiają, że Twój APK jest duży, ale raczej rzeczywiste biblioteki dostarczane z Realm. W tym celu będziesz niestety musiał wykonać dwa kroki:najpierw wydać aktualizację, która migruje dane do SQLite, a po pewnym rozsądnym czasie (np. tygodniu) możesz wydać aktualizację, która całkowicie usuwa biblioteki Realm. Mam nadzieję, że to ma sens.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak działa Typeof() w SQLite

  2. Data i godzina SQLite

  3. Jak działa SQLite Random()

  4. Zastrzeżenia dotyczące Pythona i SQLite

  5. Grupuj SQLite według/licz godziny, dni, tygodnie, rok