SQLite 数据库的 Swift 接口:Squeal

分享到:

Squeal 是 SQLite 数据库的 Swift 接口,可以使用 Swift 创建和访问 SQLite 数据库。

创建表和索引:

Squeal 提供 Database.createTable(...) 方法来创建 SQLite 数据库表:

database.createTable("people",
                     definitions:[
                         "personId INTEGER PRIMARY KEY",
                         "name TEXT",
                         "email TEXT NOT NULL",
                         "UNIQUE(email)",
                         "CHECK (name IS NOT NULL OR email IS NOT NULL)"
                     ])

删除表和管理索引:

  • Database.renameTable(tableName:to:error:)

  • Database.addColumnToTable(tableName:column:error:)

  • Database.dropTable(tableName:error:)

  • Database.createIndex(name:tableName:columns:unique:ifNotExists:error:)

  • Database.dropIndex(indexName:ifExists:error:)

迁移数据库

SQLite 数据库支持 "User Version Number" ,可以执行迁移;Squeal 提供一些简单的 helper 来访问这些值:

let CURRENT_VERSION: Int32 = 2if let version = database.queryUserVersionNumber() {
    if version < CURRENT_VERSION {
        database.transaction { (db:Database) -> Database.TransactionResult in
            if (version < 1) {
                // new database
            } else if (version < 2) {
                // perform migration 
            }
            if db.updateUserVersionNumber(CURRENT_VERSION) {
                return .Commit
            } else {
                return .Rollback
            }
        }
    }}

项目主页:http://www.open-open.com/lib/view/home/1411954540671

昵    称:
验证码:

相关文档: