2016-03-21 12 views
2

Ich bin dabei, eine ursprünglich in Appcelerator's Titanium geschriebene Anwendung in eine vollständig in Swift geschriebene iOS-App umzuwandeln.So migrieren Sie eine vorhandene Appcelerator Titanium-App-Datenbank in eine native Swift iOS-App

Die App basiert in hohem Maße auf der SQLite-Datenbank, die mit Titanium Alloy Models erstellt wurde, wobei Benutzer Elemente in ihrer lokalen Datenbank auf ihrem Telefon speichern. Ich benötige diese Daten, um zugänglich zu sein, wenn der Benutzer seine App mit der neu erstellten Version aktualisiert.

Hier sind meine Fragen:

  • Wird die Datenbank erfolgen über, wenn die App aktualisiert wird?
  • Kann ich mit der neuen Swift App auf die Datenbank zugreifen?
  • Kann ich noch Modelle in der neuen Swift-App für die Datenbankelemente erstellen?
  • Wenn ich Modelle in Swift erstelle, überschreiben sie die Tabellen, die ich in Titanium erstellt habe? Werden die Daten des Benutzers verloren gehen?
  • Gibt es dafür eine Reihe von Best Practices?

Bitte beachten Sie, ich dies in Swift erreichen müssen - nicht Objective C

Hinweis, was ich tue, ist im Grunde die Umkehrung dieser Frage: Titanium - Retrieving SQLite Data from previous version of iOS App

Antwort

2

Wenn Sie es sagen Andernfalls generiert Alloy eine _alloy_ Datenbank an dem unter Ti.Database.open() dokumentierten Standort.

Sofern Sie in Ihrer Modelladapterkonfiguration keine idAttribute angeben, erstellt Alloy eine alloy_idUNIQUE TEXT Spalte, um die eindeutige GUID für jedes Modell zu speichern.

Abgesehen davon ist es eine einfache alte SQLite-Datenbank, auf die Sie von Swift zugreifen können.

+0

Danke für die Antwort, könnten Sie einige Codebeispiele oder Links zur Dokumentation zum Zugriff auf die SQLite-Datenbank von Swift bereitstellen? – shrewdbeans

+0

Ich bin kein Swift-Entwickler, aber [LMGTFY] (https://github.com/stephencelis/SQLite.swift): D –