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 } } }}