2016-12-12 13 views
6

Odnośnie wspaniałego i niesamowitego SQLite.swift, zastanawiam się,iOS SQLite.swift, dotyczące aktualizacji aplikacji?

Masz aplikację w sklepie z aplikacjami, v7. Aktualizacja do wersji 8. Użytkownik X uaktualnia wersję 7 do 8 przy użyciu sklepu z aplikacjami.

Powiedzmy, że w wersji 8, nieznacznie zmieniliśmy jedną z tabel sql, być może dodamy kolumnę lub zmieniamy nazwę kolumny.

Czy coś w tym przypadku powinno być coś specjalnego lub co należy zrobić w SQLite.swift?

Co to jest sposób SQLite.swift?

(. Na przykład, Android jest poręczny onUpgrade pojęcie w swoich helper class ... który przychodzi z własnym zestawem złożonych problemów)

+0

Bounty tutaj !!! – Fattie

Odpowiedz

6

Realizacja SQLiteOpenHelper jest dość prosta:

 db = SQLiteDatabase.openDatabase(...); 

     onConfigure(db); 

     int version = db.getVersion(); 
     if (version != mNewVersion) { 
      db.beginTransaction(); 
      try { 
       if (version == 0) { 
        onCreate(db); 
       } else { 
        if (version > mNewVersion) { 
         onDowngrade(db, version, mNewVersion); 
        } else { 
         onUpgrade(db, version, mNewVersion); 
        } 
       } 
       db.setVersion(mNewVersion); 
       db.setTransactionSuccessful(); 
      } finally { 
       db.endTransaction(); 
      } 
     } 

Po prostu zrób to samo w Swift.

Aby uzyskać informacje na temat wdrażania onUpgrade(), patrz: SQLiteOpenHelper onUpgrade() Confusion Android.

+0

Przydałby się kod Swift. – Suragch

+0

Cześć CL., (1) dziękuję za to (2) Rozumiem zasadę (3) zauważ, że w tym kodzie, naprawdę "onUpgrade" jest sercem sprawy (modyfikuj tabele, ale, utrzymując nasze dane nietknięte tak bardzo jak logicznie możliwe) – Fattie

+0

bardzo cenny link dodany przez ciebie @CL., dziękuje – Fattie

Powiązane problemy