Tag: sqlite.swift

iOS:如何将SQLite.swift的第一个正在运行的应用程序的预先播种数据库复制到可写位置?

我在这里有关于数据库位置的问题。 商店数据库在iOS的不同位置有什么不同? 我很困惑在复制pre-seeded数据库到可写的位置。 现在,每次运行和构build我的应用程序时,正在使用的数据库将被预先播种的数据库所取代。 而在将来,如果我更新我的应用程序版本,我该如何防止数据库被replace?

使用事务插入是抛出错误Sqlite.swift

我创build了一个数据库类,如下所示: class Database { static let instance = Database() private let categories = Table("Category") private var db: Connection? let cat_id = Expression<String>("id") let cat_name = Expression<String>("name") private init() { let path = NSSearchPathForDirectoriesInDomains( .documentDirectory, .userDomainMask, true ).first! do { db = try Connection("\(path)/SalesPresenterDatabase.sqlite3") createTable() } catch { print("error") } } func createTable() { do{ try […]

商店数据库在iOS的不同位置有什么不同?

我正在使用SQLite.swift。 在文档中,数据库的path是: let path = NSSearchPathForDirectoriesInDomains( .DocumentDirectory, .UserDomainMask, true ).first! 但我想导入和使用现有的数据库,所以我已经拖动我的现有数据库到我的键盘扩展文件夹,并创build与path的连接是: let path = NSBundle.mainBundle().pathForResource("db", ofType:"sqlite3") 因此,我注意到第一种方式,数据库将存储在/Users/*/Library/Developer/CoreSimulator/Devices/8B1DB861-AA3F-446F-A559-D4727CDB9285/data/Containers/Data/PluginKitPlugin/0BC647E4-26F3-4A1F-8271-CC73C96FD197/Documents 第二种方式,数据库将被存储在应用程序中。 /Users/*/Library/Developer/CoreSimulator/Devices/8B1DB861-AA3F-446F-A559-D4727CDB9285/data/Containers/Bundle/Application/E5D9514C-859A-4D4D-A771-A8CE9CDCD3E7/AppName.app/PlugIns/AppNameExt.appex 这两个地方有什么不同? 第二种方式可能会增加应用程序的大小,因为它包含数据库? 如果我想存档/提交我的应用程序到现有的数据库的AppStore,这是唯一的方法?

iOS的SQLite.swift,关于应用程序的升级?

关于macros伟和惊人的SQLite.swift,我想知道 您在app storev7中有一个应用程序。 有一个升级到V8。 用户X使用app store将v7升级到v8。 在v8中说,我们已经稍微改变了一个sql表,可能会添加一列或重命名一列。 在这种情况下,SQLite.swift应该做什么或必须做什么特别的事情? 什么是SQLite.swift的方式来处理? (举例来说,Android的助手类中有一个方便的onUpgrade概念,它带有一套复杂的问题。)