SQLite 数据库的 Swift 接口:Squeal

jopen 10年前

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