sql >> Databasteknik >  >> RDS >> SQLite

Är det möjligt att migrera från Realm till SQLite?

Jag tror inte att jag helt förstår vad ditt problem är. Om du frågar om det finns ett verktyg som kommer att automatisera datamigreringen åt dig, så nej, det finns inget sådant verktyg.

Annars är det ganska okomplicerat:

  1. Hantera onCreate , onDowngrade och onUpgrade metoder i implementeringen av din SQLiteOpenHelper klass.

  2. I din onCreate Hämta all din data från Realm direkt efter att du har skapat tabeller och infoga i SQLite-tabeller.

Något så här:

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

Jag föreslår faktiskt att du undersöker hur du minskar APK-storleken när du använder Realm, men det är upp till dig

REDIGERA 1 Du måste se till att migrera data först och sedan ta bort Realm-filer. Även om det inte är datafilerna som gör din APK stor, utan snarare de faktiska biblioteken som följer med Realm. Så för detta måste du, tyvärr, ta två steg:först releaseuppdatering som migrerar data till SQLite, och efter en rimlig tid (som en vecka) kan du släppa uppdatering som tar Realm-biblioteken helt ut. Hoppas det är vettigt.



  1. Datamodellen för viktiga datum

  2. onbeforeprint() och onafterprint() motsvarande för icke IE-webbläsare

  3. Använda modulberoenden, del 2

  4. Sammanfoga resultat från två separata databaser