sql >> Database >  >> RDS >> SQLite

Is het mogelijk om van Realm naar Sqlite te migreren?

Ik denk dat ik niet helemaal begrijp wat je probleem is. Als u vraagt ​​of er een tool is die de gegevensmigratie voor u automatiseert, nee, zo'n tool bestaat niet.

Anders is het nogal ongecompliceerd:

  1. Behandel onCreate , onDowngrade en onUpgrade methoden bij de implementatie van uw SQLiteOpenHelper klasse.

  2. In uw onCreate methode, direct nadat u tabellen heeft gemaakt, haalt u al uw gegevens op uit Realm en invoegen in SQLite-tabellen.

Zoiets als dit:

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

Ik raad je eigenlijk aan om te onderzoeken hoe je de APK-grootte kunt verkleinen tijdens het gebruik van Realm, maar het is aan jou

BEWERK 1 U moet ervoor zorgen dat u eerst de gegevens migreert en vervolgens Realm-bestanden verwijdert. Hoewel het niet de gegevensbestanden zijn die uw APK groot maken, maar eerder de daadwerkelijke bibliotheken die bij Realm worden geleverd. Hiervoor moet je helaas twee stappen nemen:eerst een update vrijgeven die de gegevens naar SQLite migreert, en na een redelijke tijd (zoals een week) kun je een update vrijgeven die Realm-bibliotheken volledig uitschakelt. Ik hoop dat het logisch is.



  1. MariaDB benoemde opdrachten

  2. Locatie van mijn.cnf-bestand op macOS

  3. pgmemcache versus oneindige cache

  4. Voeg een plus-/minteken toe aan een getal in PostgreSQL