Ich habe derzeit eine iPhone-App im iTunes App Store, die eine SQLite-Datenbank als Datenspeicher verwendet. Der Benutzer kann die App mit einem Webdienst synchronisieren und Daten, die zurückgegeben werden, werden dann in der SQLite-Datenbank gespeichert. Der Benutzer kann auch neue Elemente in die Datenbank einfügen und deren Änderungen mit dem Web-Service synchronisieren.Wie aktualisiert man die SQLite DB auf dem iPhone App Update?
Wenn eine Verbindung zur lokalen Datenbank der App geöffnet wird, prüft der Code, ob die Datenbankdatei im Ordner "Dokumente" vorhanden ist, wenn die Datenbank nicht erstellt wird, indem sie aus dem Ordner "Resources" kopiert wird der Ordner "Dokumente".
Ich muss ein Update für die App veröffentlichen. Das Update enthält Datenbankschemaänderungen (neue Tabellen, Spalten usw.). Nach dem, was ich gelesen habe, werden Dateien im Verzeichnis "Dokumente" bei einem App-Update beibehalten, was bedeutet, dass die vorhandene Datenbank nach dem Update noch intakt ist.
Meine Frage ist, wie ersetze ich die vorhandene Datenbank mit meiner aktualisierten Datenbank und gibt es eine Möglichkeit, dies zu tun, ohne die Daten in der vorhandenen Datenbank zu verlieren? Gibt es eine Art "erstes Ausführen nach Update" -Ereignis, mit dem ich arbeiten kann, um die Datenbank zu aktualisieren, oder muss ich eine Überprüfung der vorhandenen Datenbank durchführen (nach einer neuen Spalte oder Tabelle suchen) und wenn meine Prüfung fehlschlägt die Datenbank manuell ersetzen/aktualisieren?
Danke!
haben einen Blick auf diesem Link für einen SQLite-Wrapper, die einfachen SQLite Operationen ermöglicht - https://github.com/ccgus/fmdb/ –