我即将将最初用 Appcelerator 的 Titanium 编写的应用程序重建为用 Swift 编写的完全原生的 iOS 应用程序。
该应用程序严重依赖于使用钛合金模型创建的 SQLite 数据库,用户可以将项目保存到手机上的本地数据库中。当用户使用新重建的版本更新其应用程序时,我需要能够访问这些数据。
这是我的问题:
- 应用更新时数据库会保留吗?
- 我可以使用新的 Swift 应用访问数据库吗?
- 我仍然可以在新的 swift 应用中为数据库项目创建模型吗?
- 如果我在 Swift 中创建模型,它们会覆盖我在 Titanium 中创建的表吗?用户的数据会丢失吗?
- 是否有一套最佳实践?
请注意,我需要在 Swift 中实现此目的 - 而不是 Objective C
注意,我所做的基本上是这个问题的相反: Titanium - Retrieving SQLite Data from previous version of iOS App
最佳答案
除非您另有说明,Alloy 将在 Ti.Database.open() 下记录的位置生成一个 _alloy_
数据库。 .
除非您在模型适配器配置中指定 idAttribute
,Alloy 将创建一个 alloy_id
UNIQUE TEXT
列来存储每个模型的唯一 guid型号。
除此之外,它是一个普通的旧 SQLite 数据库,您可以从 Swift 访问它。
关于ios - 如何将现有 Appcelerator Titanium 应用程序数据库迁移到 native Swift iOS 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36132821/