SQLite 數據庫的 Swift 接口:Squeal

jopen 10年前發布 | 21K 次閱讀 Squeal Apple Swift開發

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.baiduhome.net/lib/view/home/1411954540671

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!