sql >> Databáze >  >> RDS >> SQLite

Je možné migrovat z Realmu do Sqlite?

Myslím, že úplně nerozumím tomu, co máš za problém. Pokud se ptáte, zda existuje nástroj, který vám migraci dat zautomatizuje, pak ne, žádný takový neexistuje.

Jinak je to spíše přímočaré:

  1. Zpracování onCreate , onDowngrade a onUpgrade metod při implementaci vašeho SQLiteOpenHelper třída.

  2. Ve vašem onCreate ihned po vytvoření tabulek získejte všechna data z Realmu a vložit do tabulek SQLite.

Něco jako toto:

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

Ve skutečnosti navrhuji, abyste se podívali na to, jak zmenšit velikost APK při používání Realm, ale je to na vás

UPRAVIT 1 Museli byste se ujistit, že nejprve migrujete data a poté smažete soubory Realm. Ačkoli to nejsou datové soubory, které dělají váš APK velkým, ale spíše skutečné knihovny, které přicházejí s Realm. Takže za tímto účelem budete bohužel muset udělat dva kroky:nejprve vydat aktualizaci, která migruje data na SQLite, a po nějaké rozumné době (například týden) můžete vydat aktualizaci, která knihovny Realm úplně vyřadí. Doufám, že to dává smysl.



  1. Vyhledejte, zda je číslo obsaženo ve výrazu jako:1-3,5,10-15,20

  2. zvýšit číslo řádku, když se změní hodnota pole v Oracle

  3. ExecuteNonQuery:Vlastnost připojení nebyla inicializována.

  4. SQL Server 2008:Jak udělím oprávnění uživatelskému jménu?